c语言 矩阵转置的编写

Python010

c语言 矩阵转置的编写,第1张

#include "stdio.h"

void main()

{

void zhuan(int array[2][3],int b[3][2])

int array[2][3],b[3][2]int i,j

printf("input:\n")

for(i=0i<2i++)

for(j=0j<3j++)

{

scanf("%d",&array[i][j])

}

printf("\n")

zhuan(array,b)

printf("\n")

for(i=0i<3i++)

{

for(j=0j<2j++)

printf("%d",b[i][j])

printf("\n")

}

}

void zhuan(int array[2][3],int b[3][2]) //转置函数逻辑错误,没那么麻烦,直接转就是了!

{

int i,j

for(i=0i<2i++)

for(j=0j<3j++)

{

b[j][i]=array[i][j]

}

}

根据数学定义可以知道,对于矩阵P,其第m行n列上的元素,是其转置矩阵的n行m列元素。

从此可以得出程序如下:

#define M 10

#define N 5 

//以10行5列为例,可以任意修改。

void convert(int a[M][N], int b[N][M])//求a的转置矩阵,结果存于b中。

{

    int i,j

    for(i = 0 i <M i ++)

        for(j = 0 j < N j ++)

            b[j][i] = a[i][j]//转置运算。

}