用键盘输入一个三行四列的矩阵,编写一个函数对该矩阵进行转置操作。
我们知道,矩阵的转置的结果是A的行变成列,列变成行的操作。根据这一思想,编写代码如下:
- #include <stdio.h>
-
-
void InputMatrix(int (*a)[4], int, int );
-
void OutputMatrix(int (*b)[3], int, int );
-
void MatrixTranspose(int (*a)[4], int (*b)[3]);
-
-
int main(int argc, char *argv[])
-
{
-
int a[3][4],b[4][3];
-
printf("please input 3*4 matrix\n");
-
InputMatrix(a, 3, 4);
-
MatrixTranspose(a, b);
-
printf("the transpo*** Matrix is\n");
-
OutputMatrix(b, 4, 3);
-
return 0;
-
}
-
-
void InputMatrix(int (*a)[4], int n, int m)
-
{
-
int i,j;
-
for(i = 0; i < n; i++)
-
{
-
for(j = 0; j < m; j++)
-
{
-
scanf("%d",*(a + i) + j);
-
}
-
}
-
}
-
-
void OutputMatrix(int (*b)[3], int n, int m)
-
{
-
int i,j;
-
for(i = 0; i < n; i++)
-
{
-
for(j = 0; j < m; j++)
-
{
-
printf("%d ",*(*(b + i) + j));
-
}
-
printf("\n");
-
}
-
}
-
-
void MatrixTranspose(int (*a)[4], int (*b)[3])
-
{
-
int i,j;
-
for(i = 0; i < 4; i++)
-
for(j = 0; j < 3; j++)
-
b[i][j] = a[j][i];
-
}
阅读(5579) | 评论(0) | 转发(0) |