撰寫一個函式實作陣列的轉置運算,即將一個二維陣列的行和列元素互換,形成另一個二維陣列,如:a陣列 b陣列
1 2 3 4 1 5 9
5 6 7 8 2 6 10
9 10 11 12 3 7 11
4 8 12
#include<iostream>
using namespace std;
int move(int matrix[3][4],int max[4][3]){
int i,j;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
matrix[i][j]=max[j][i];
}
}
return max[4][3];
}
int main(){
int i,j;
int m=1;
int data[3][4],day[4][3];
for(i=0;i<3;i++)
for(j=0;j<4;j++){
data[i][j]=m;
m++;
}
cout<<"It is:"<<endl;
for(i=0;i<3;i++){
for(j=0;j<4;j++)
cout<<data[i][j]<<" ";
cout<<endl;
}
move(data,day);
cout<<"changed:"<<endl;
for(i=0;i<4;i++){
for(j=0;j<3;j++)
cout<<day[i][j]<<" ";
cout<<endl;
}
return 0;
}
uj5u.com熱心網友回復:
#include<iostream>
using namespace std;
void move(int matrix[3][4], int max[4][3])
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
max[j][i]= matrix[i][j]; //不要賦值反了!!!
}
}
// return max[4][3]; //回傳干嘛用的?
}
int main()
{
int i,j;
int m=1;
int data[3][4],day[4][3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
data[i][j]=m;
m++;
}
cout<<"It is:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
cout<<data[i][j]<<" ";
cout<<endl;
}
move(data, day);
cout<<"changed:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
cout<<day[i][j]<<" ";
cout<<endl;
}
return 0;
}
uj5u.com熱心網友回復:
定樓上的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/110046.html
標籤:基礎類
