#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;i<2;i++)
for(j=0;j<3;j++)
{scanf("%d",&array[i][j]);}
printf("\n");
zhuan(array,b);
printf("\n");
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf("%d",b[j][j]);
printf("\n");
}
}
void zhuan(int array[2][3],int b[3][2])
{ int i,j,t;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
t=array[i][j];
array[i][j]=b[j][i];
b[j][i]=t;
}
}
这个程序运行结果根本不对,谁能告诉我我哪里写错了?QAQ
#include<iostream>
usingnamespacestd;
voidzhuangzhi(inta[3][3])
{intm,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;
}
}
}
intmain()
{
inta[3][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
zhuangzhi(a);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<"";
cout<<endl;
}
return0;
}
cout<<"处理后的矩阵:"<<endl;
for(i=0;i<3;i++)//输出处理后的矩阵
{
for(j=0;j<3;j++)
{
cout<<setw(5)<<a<i>[j];
}
cout<<endl;
}
return0;
}
//交换函数
voidmove(int*pointer)
{
inti,j,t;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
t=*(pointer+3*i+j);//这是关键将矩阵转置的条件
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=t;
}
}
}
运行效果:
扩展资料:
在C语言或C++中,会把用来#include的文件的扩展名叫.h,称其为头文件。
#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。在现行的c++版本中,应用这个头文件应是#include<stdio.h>
stdio 就是指 “standard input & output"(标准输入输出)所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!
例如c语言中的 printf("%d",i); scanf("%d",&i);等函数。
或者更简单:
#include "stdio.h"这个是第一个程序的运行结果,还是不对。
我想要有子函数的,简单的我知道的。所以我想知道你的第一个答案哪里错了
我复制你的代码,然后运行了一下,就成图上这样子了,还是不对啊
没错呀?虽然你输入的样子好像是跟三行两列的矩阵,但实际上你定义的是个两行散列的矩阵呀!转置后不就成了一个三行两列的矩阵了?
本回答被提问者采纳我想要有子函数的^ ^