
void main()
{
int a[3][3],b[3][3]
int p=0
for(int i=0i<3i++)
{
for(int j=0j<3j++)
{
cin>>a[i][j]
b[j][i]=a[i][j]
}
}
cout<<"原矩阵为:"<<endl
for(int m=0m<3m++)
{
for(int n=0n<3n++)
{
cout<<a[m][n]<<" "
p++
if(p%3==0)
cout<<endl
}
}
cout<<endl
cout<<"转置后的矩阵为:"<<endl
for(int c=0c<3c++)
{
for(int d=0d<3d++)
{
cout<<b[c][d]<<" "
p++
if(p%3==0)
cout<<endl
}
}
}
#include <stdio.h>#define ARRAY_SIZE 2
void zhuanZhi(int a[][ARRAY_SIZE])
void outPut(int a[][ARRAY_SIZE])
void main()
{
int a[ARRAY_SIZE][ARRAY_SIZE]
int i,j
for (i=0i<ARRAY_SIZEi++)
{
for (j=0j<ARRAY_SIZEj++)
{
scanf("%d",&a[i][j])
}
}
outPut(a)
zhuanZhi(a)
outPut(a)
}
void outPut(int a[][ARRAY_SIZE])
{
int i,j
for (i=0i<ARRAY_SIZEi++)
{
for (j=0j<ARRAY_SIZEj++)
{
printf("%-5d",a[i][j])
}
printf("\n")
}
printf("\n")
}
void zhuanZhi(int a[][ARRAY_SIZE])
{
int i,j,nTemp
for (i=0i<ARRAY_SIZEi++)
{
for (j=0j<=ij++)
{
nTemp=a[i][j]
a[i][j]=a[j][i]
a[j][i]=nTemp
}
}
}
思路:定了两个二维数组分别存储转置前后的矩阵,接着for循环依次转置即可。
//参考代码#include<stdio.h>
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},b[4][3]
int i,j
for(i=0i<3i++)
for(j=0j<4j++)
b[j][i]=a[i][j]
for(i=0i<4i++)
{
for(j=0j<3j++)
printf("%2d ",b[i][j])
printf("\n")
}
return 0
}
/*
运行结果:
1 5 9
2 6 10
3 7 11
4 8 12
*/
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)