二次行列(2x2または3x3)では問題なく動作しますが、2x3または3x2では正しく表示されません。行列の転置が正しく表示されていませんか?
#include <stdio.h>
int main()
{
int i,j,k,c1,c2,l1,l2;
int m1[10][10],m2[10][10],transposta[10][10],multiplicacao[10][10];
printf("\nDigite o numero de linhas e colunas na primeira matriz\n");
scanf("%d%d",&l1,&c1);
printf("\nDigite os elementos da matriz:\n");
for(i=0;i<l1;i++)
{
for(j=0;j<c1;j++)
{
scanf("%d",&m1[i][j]);
}
}
for(i=0;i<l1;i++)
{
for(j=0;j<c1;j++)
{
transposta[j][i] = m1[i][j];
}
}
printf("\nA matriz transposta e:\n");
for(i=0;i<l1;i++)
{
for(j=0;j<c1;j++)
printf("%d\t",transposta[i][j]);
printf("\n");
}
Iは2×3の行列の要素{1,2,3,4,5,6}を配置する場合、それは次のように表示されます
しかし、正しい方法は次のようになります。
1~4
2~5
何のコードが間違っていると、それが動作しない理由行の数が列