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;
}
或使用函数求转置矩阵c语言:
#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语言 ,求转置矩阵根据数学定义可以知道,对于矩阵P,其第m行n列上的元素,是其转置矩阵的n行m列元素 。
从此可以得出程序如下:
#define M 10
#define N 5
//以10行5列为例,可以任意修改 。
void convert(int a[M][N], int b[N][M])//求a的转置矩阵 , 结果存于b中 。
{
int i,j;
for(i = 0; i M; 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)
/*注意使用函数求转置矩阵c语言:只遍历了矩阵的右上半部分 。
如果for(j=0;j<3;j,表示遍历矩阵全部元素使用函数求转置矩阵c语言,右上与左下交换使用函数求转置矩阵c语言,左下又与右上交换使用函数求转置矩阵c语言,导致重复转置,矩阵没有变化 。*/
{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("}",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("}",array[i][j]);
printf("\n");}
}
【使用函数求转置矩阵c语言 3*3矩阵转置 c语言函数调用】使用函数求转置矩阵c语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于3*3矩阵转置 c语言函数调用、使用函数求转置矩阵c语言的信息别忘了在本站进行查找喔 。
推荐阅读
- 广电如何在新媒体中突围,你认为广播电视新媒体的发展前景如何
- 关于如何推广海外白酒产品的信息
- 战略经营类游戏简称,战略经营类游戏简称什么游戏
- 迷彩户外服饰直播带货,迷彩户外服饰直播带货怎么样
- vb.net2008函数 vb net
- 求二次函数的值c语言,二次函数求最值四种方法
- 什么技能适合玩游戏手机,什么手机适合玩手游
- jquery自带弹出,jquery自带的弹出框
- php后台数据正在读取 php运行