思路
-
**行交换函数**:交换二维数组中指定的两行。
-
**列交换函数**:交换二维数组中指定的两列。
伪代码
- **行交换函数**:
-
遍历指定的两行的每一列。
-
使用交换函数`swap`交换这两行对应列的元素。
- **列交换函数**:
-
遍历指定的两列的每一行。
-
使用交换函数`swap`交换这两列对应行的元素。
C++代码
cpp
#include <stdio.h>
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void col(int a[][4], int i, int j)
{
for (int k = 0; k < 4; k++)
{
swap(&a[k][i], &a[k][j]);
}
}
void row(int a[][4], int i, int j)
{
for (int k = 0; k < 4; k++)
{
swap(&a[i][k], &a[j][k]);
}
}
int main()
{
int a[4][4];
int i, j;
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
scanf("%d", &a[i][j]);
col(a, 0, 2);
row(a, 0, 2);
col(a, 1, 3);
row(a, 1, 3);
col(a, 0, 3);
row(a, 0, 3);
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}