写一个函数void f(int a[3][3]),对给定的3*3二维整型数组转置
时间: 2024-03-12 20:44:50 浏览: 73
C语言将给定的3× 3的整型数组转置(行列互换)。
好的,下面是函数的实现:
```c++
void f(int a[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
int temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
}
```
该函数接受一个3*3的二维整型数组,将其转置,即将行和列对换。
实现的方法是,使用两层循环,对于每个元素,将其和对应的对称元素交换即可。注意,内层循环的起始位置是i+1,因为矩阵的对称轴是主对角线,对角线上的元素不需要交换。
这个函数可以通过下面的方式调用:
```c++
int main() {
int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
f(a);
// 输出转置后的矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
1 4 7
2 5 8
3 6 9
```
阅读全文