写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
输入要求:一个3x3的矩阵
输出要求:转置后的矩阵
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
void exchange(int* p);
int a[3][3], i, j;
int* p;
for (i = 0;i < 3;i++)
{
for (j = 0;j < 3;j++)
{
cin >> a[i][j];
}
}
p = &a[0][0];
exchange(p);
for (i = 0;i < 3;i++)
{
for (j = 0;j < 3;j++)
{
cout << a[i][j]<<" ";
}
cout << endl;
}
return 0;
}
void exchange(int* p)
{
int temp, i, j;
for (i = 0;i < 3;i++)
{
for (j = i + 1;j < 3;j++)
{
temp = *(p + 3 * i + j);
*(p + 3 * i + j) = *(p + 3 * j + i);
*(p + 3 * j + i) = temp;
}
}
}