习题6.9
#include <iostream>
using namespace std;
int main() {
void transpose_of_matrix(int*);
void(*function)(int*);
int arr[3][3],*p;
p = &arr[0][0];
function = transpose_of_matrix;
cout << "请输入一个3×3的数组:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) cin >> *(p + i * 3 + j);
}
function(p);
cout << "转置后的数组为:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) cout << *(p + i * 3 + j)<<" ";
cout << endl;
}
return 0;
}
void transpose_of_matrix(int* matrix) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < i; j++) {
int temp = *(matrix + i * 3 + j);
*(matrix + i * 3 + j) = *(matrix + j * 3 + i);
*(matrix + j * 3 + i) = temp;
}
}
}