给你举个例子:矩阵a[2][3]=1 2 3
专注于为中小企业提供成都网站设计、成都做网站、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业新华免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
4 5 6
要求行列互换,那么b[3][2]=1 4
2 5
3 6
程序如下:
#include "stdio.h"
main()
{int a[2][3],i,j,b[3][2];
for(i=0;i2;i++)
for(j=0;j3;j++)
b[j][i]=a[i][j];//现a矩阵的行和列等于转换后b矩阵的列和行;
for(i=0;i3;i++)
for(j=0;j2;j++)
printf("%3d",b[i][j]);
printf("\n");
}
希望楼主能学会这个方法
转换干啥,直接写个读取函数就好了啊、大概就下面这意思。
int Read(int r, int c)
{
return arr[r][c];
}
int ReadAsTransposition(int r, int c)
{
return arr[c][r];
}
C语言中不接受数组作为函数的参数和返回值,所以你传递数组的做法是错误的。
但是可以传递数组的指针,例如:
void array(int a[][3]){...}
声明或定义时,如下语句的效果等同于上面:
void array(int a[3][3]){...}
但是在实际调用的时候,你必须传递指针:
array(a);
你代码中传递的参数a[3][3]实际类型是int(而且已经越界),