用c语言函数求矩阵转置6 c语言,编写程序,实现矩阵的转置

C语言矩阵转置

//经过vc6调试成功

创新互联建站提供成都网站制作、成都网站建设、外贸营销网站建设、网页设计,品牌网站制作1元广告等致力于企业网站建设与公司网站制作,十多年的网站开发和建站经验,助力企业信息化建设,成功案例突破数千家,是您实现网站建设的好选择.

void transferMat(int a[] , int b[], int n) //a表示待转置的矩阵,b表示输出矩阵,n表示元素个数

{

int i,j;

for(i=0; in; i++)

for(j=0; jn; j++)

{

b[j,i]=a[i,j];

}

}

C语言-矩阵转置

①目标

将一个二维数组表示的矩阵转置

②命令行

#includestdio.h

#include stdlib.h

~

③定义函数

void fun(int array[3][3])

{int i,j,t;

for(i=0;i<3;i++)

for(j=i+1;j<3;j++)

/*注意:只遍历了矩阵的右上半部分。

如果for(j=0;j<3;j++,表示遍历矩阵全部元素,右上与左下交换,左下又与右上交换,导致重复转置,矩阵没有变化。*/

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;}

/*交换语句,矩阵右上半部分,与对应左下半部分,元素交换,完成转置*/

}

~

④主函数(调用)

void main()

{int i,j;

int array[3][3]={{1,2,3},{4,5,6},{7,8,9}};

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

/*输出原矩阵,遍历全部*/

printf("%7d",array[i][j]);

printf("\n");}

fun(array);

/*利用fun函数完成转置*/

printf("converted array:\n");

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

printf("%7d",array[i][j]);

printf("\n");}

}

c语言如何通过定义函数来转置矩阵?

#include stdio.h

int main()

{ struct aaa

{ int x;

int y;

};

struct aaa t,a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2};

int i,j;

for(i=0; i3; i++)

{ for(j=0; j3; j++)

printf("[%d,%d]  ",a[i][j].x,a[i][j].y);

printf("\n");

}

printf("after:\n");

for(i=0; i3; i++)

for(j=0; ji; j++)

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

for(i=0; i3; i++)

{ for(j=0; j3; j++)

printf("[%d,%d]  ",a[i][j].x,a[i][j].y);

printf("\n");

}

return 0;

}

或:

#include stdio.h

struct aaa

{ int x;

int y;

};

void zhuanzhi(struct aaa a[][3])

{ struct aaa t;

int i,j;

for(i=0; i3; i++)

for(j=0; ji; j++)

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

void prt(struct aaa a[][3])

{ int i,j;

for(i=0; i3; i++)

{ for(j=0; j3; j++)

printf("[%d,%d]  ",a[i][j].x,a[i][j].y);

printf("\n");

}

}

int main()

{ struct aaa a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2};

prt(a);

zhuanzhi(a);

printf("after:\n");

prt(a);

return 0;

}

c语言用convert函数求矩阵的转置

参考代码如下:

#includestdio.h

int A[10][10]={0};

void convert(int a[][10], int *m, int *n)

{

int i,j,t;

for(i=0;i*m;++i)

for(j=i;j*n;++j){

t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

t=*m;

*m=*n;

*n=t;

}

int main()

{

int i,j,m,n;

scanf("%d%d",m,n);

if(m10||n10)

return 0;

for(i=0;im;++i)

for(j=0;jn;++j)

scanf("%d",A[i][j]);

convert(A,m,n);

for(i=0;im;++i){

for(j=0;jn;++j)

printf("%d ",A[i][j]);

printf("\n");

}

return 0;

}


本文名称:用c语言函数求矩阵转置6 c语言,编写程序,实现矩阵的转置
文章路径:http://ybzwz.com/article/dohpdeo.html