第5章 利用数组处理批量数据
7 二维数组表示矩阵----》转置
int a[3][4]= { {5,12,23,56},{19,28,37,46},{-12,-34,6,8}};
#include < iostream>
#include < iomanip>
using namespace std;
int main()
{
int a[3][4]= { {5,12,23,56},{19,28,37,46},{-12,-34,6,8}};
int b[4][3];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cout<<setw(5)<<a[i][j];
}
cout<<endl;
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
b[i][j]=a[j][i];
}
}
cout<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
cout<<setw(5)<<b[i][j];
}
cout<<endl;
}
return 0;
}
方阵的转置
int a[4][4]= {
{5,12,23,56},{19,28,37,46},{-12,-34,6,8},{54,7,35,-15 } };
#include < iostream>
#include < iomanip>
using namespace std;
int main()
{
int a[4][4]= {
{5,12,23,56},{19,28,37,46},{-12,-34,6,8},{54,7,35,-15 } };
int i,j,t;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<setw(5)<<a[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<i;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
cout<<setw(5)<<a[i][j];
}
cout<<endl;
}
return 0;
}
8 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
int a[3][4]= {
{5,12,23,56},{19,28,37,46},{-12,-34,6,8}};
#include < iostream>
#include < iomanip>
using namespace std;
int main()
{
int a[3][4]= {
{5,12,23,56},{19,28,37,46},{-12,-34,6,8}};
int max,i,j,line,column;
max=a[0][0];
line=0;
column=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
line=i;
column=j;
}
}
}
cout<<“最大值为:”<<max<<endl;
cout<<“最大值所在行为:”<<line<<endl;
cout<<“最大值所在列为:”<<column<<endl;
return 0;