举例如下的矩阵A:
普兰店网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
1 2 3
4 5 6
7 8 9
则经过转置后,即将矩阵的第i行变成了现在的第i列,则原来的矩阵A变为如下矩阵B:
1 4 7
2 5 8
3 6 9
代码:
#include
int main()
{
int n[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9};
int i, j, temp;
printf("原始矩阵:\n");
for(i=0; i3; i++)
{
for(j=0; j3; j++)
printf("%d ", n[i][j]); /*输出原始矩阵*/
printf("\n");
}
for(i=0; i3; i++)
for(j=0; j3; j++)
{
if (ji)
{ /*将主对角线右上方的数组元素与主对角线左下方的数组元素进行单方向交换*/
temp=n[i][j];
n[i][j]=n[j][i];
n[j][i]=temp;
}
}
printf("转置矩阵:\n");
for(i=0; i3; i++)
{
for(j=0; j3; j++)
printf("%d ", n[i][j]); /*输出原始矩阵的转置矩阵*/
printf("\n");
}
return 0;
}
扩展资料:
return 0代表程序正常退出。return是C++预定义的语句,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。
return语句用来结束循环,或返回一个函数的值。
1、return 0,说明程序正常退出,返回到主程序继续往下执行。
2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0或return 1对程序执行的顺序没有影响,只是大家习惯于使用return(0)退出子程序而已。
#include<iostream>
usingnamespacestd;
void zhuang zhi(int a[3][3])
{int m,n,i;
for(m=0;m<2;m++)
for(i=0;i<3;i++)
{if(m!=1||i!=0)
{n=a[i][m];
a[i][m]=a[m][i];
a[m][i]=n;
}
}
}
int main()
{
inta[3][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
zhuang zhi(a);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<"";
cout<<endl;
}
return0;
}
运行效果:
扩展资料:
return语句有以下形式:
return;//不带返回值的return语句
return 0;//带返回值的return语句,或者返回一个变量或一个函数。
return 1//表示函数异常结束
不带返回值的return语句用于,中断返回值为void类型的函数的执行,而带返回值的return则不行。
#includelt;iostreamgt;
using namespace std;
void f(){
coutlt;lt;"begin"lt;lt;endl;
return 0;此处有问题,此时return;的作用相当于break;用于中断循环的作用。所以不该返回某个具体的值。
coutlt;lt;"end"lt;lt;endl;
}
int main(){
f();
return 0;
}
将return 0;换为return;后,运行成功:
总结:
return;的作用相当于break;用于中断循环的作用;return 0;则是return的另一种用法,专用于返回值非void的函数返回其值。
首先字义二维数组A[M][N],
函数(Revolve)如下:
int M=100,N=100;
main()
{
int i,j,Temp;
/*定义并初始化二维数组*/
int A[M][N]={{.......},{......},....{......}};
/*转置*/
for(i=0;iM;++i)
for(j=0;jN,++j)
if(i!=j)
{
Temp=Array[i][j];
Array[i][j]=Array[j][i];
Array[j][i]=Temp;
}
}
/* 程式功能: 矩阵转置 (transportation) *//*输入:m×n矩阵A *//*输出:矩阵B,B=AT */#include void main() { int i, j, m=5, n=5; int B[6][6], A[6][6]; printf("请依序输入二维阵列A(5x5)的元素内容(可以5个一行,可以空格或回车隔开): \n"); for (i = 1; i = 5; i++) { for (j = 1; j = 5; j++) { scanf("%d", A[i][j]); } } printf("\n\n原始:\n"); for(i = 1; i = m; i ++) { for(j = 1; j =n; j++) { printf("%4d",A[i][j]); } printf("\n"); } printf("\n转置後:\n"); for (i = 1; i = m; i++) { for (j = 1; j = n; j++) { B[i][j] = A[j][i]; /*作转置的动作*/ printf("%4d ", B[i][j]); /*输出转置後的结果*/ } printf("\n"); }}