【发布时间】:2017-09-11 04:22:01
【问题描述】:
它适用于二次矩阵(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");
}
如果我将元素 {1,2,3,4,5,6} 放在 2x3 矩阵中,它会显示如下:
1 4 1
2 5 0
但是正确的方法是:
1 4
2 5
3 6
代码有什么问题以及为什么行数与列数不同时它不起作用
【问题讨论】: