本篇文章给大家谈谈c语言程序部分矩阵转置,以及C语言矩阵转置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、c语言 矩阵转置的编写2、C语言 ,求转置矩阵3、C语言-矩阵转置4、C语言编程:N*N方阵的转置
c语言 矩阵转置的编写
#include “stdio.h”
void main()
{
void zhuan(int array[2][3],int b[3][2]);
int array[2][3],b[3][2]; int i,j;
printf(“input:\n”);
for(i=0;i2;i++)
for(j=0;j3;j++)
{
scanf(“%d”,array[i][j]);
}
printf(“\n”);
zhuan(array,b);
printf(“\n”);
for(i=0;i3;i++)
{
for(j=0;j2;j++)
printf(“%d”,b[i][j]);
printf(“\n”);
}
}
void zhuan(int array[2][3],int b[3][2]) //转置函数逻辑错误,没那么麻烦,直接转就是了!
{
int i,j;
for(i=0;i2;i++)
for(j=0;j3;j++)
{
b[j][i]=array[i][j];
}
}
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; j N; 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语言编程:N*N方阵的转置
#includestdio.h
int main()
{
int n,t,a[100][100],i,j; scanf(“%d”,n);
for(i=0;in;i++)
for(j=0;jn;j++) scanf(“%d”,a[i][j]);
printf(“转换后:\n”);
for(i=0;in;i++)
for(j=0;jn;j++)
{
for(i=0;in;i++)
{
for(j=0;jn;j++)
{
if(j==0)
printf(“%d”,a[j][i]); else printf(” %d”,a[j][i]);
}
printf(“\n”);
}}}
扩展资料:
C语言书写规则:
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
百度百科-c语言
关于c语言程序部分矩阵转置和C语言矩阵转置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。