C代码和python代码:用二维数组实现矩阵的转置

Posted jmshy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C代码和python代码:用二维数组实现矩阵的转置相关的知识,希望对你有一定的参考价值。

一、总结

输入用了 int(input()) ,但发现这种方法好像有点不方便
每次输入一个数字都要按回车,按空格不能识别
下次找找看看有没有其他输入方法

Python中没有数组,但列表类似数组
通过叠加[ ],就可以通过列表创建二维数组
Python中创建二维数组的方法(以本案例为例)

  1. matrixA=[[0 for i in range(4)] for i in range(3)]
  2. matrixA=[ [ 0, 0, 0, 0], [ 0, 0, 0, 0], [ 0, 0, 0, 0]]

二、C代码

运行环境:VS2017
以下是代码:

/* 用二维数组实现矩阵的转置 */
#include <stdio.h>
#define ROW 3
#define COL 4
int main()
{
    int matrixA[ROW][COL],matrixB[COL][ROW];
    int i,j;

    printf("Enter elements of the matrixA,");
    printf("%d*%d:
",ROW,COL);
    for( i=0; i<ROW; i++ )
        for( j=0; j<COL; j++ )
            scanf_s("%d", &matrixA[i][j]);

    for( i=0; i<ROW; i++ )
        for( j=0; j<COL; j++ )
            matrixB[j][i] = matrixA[i][j];

    printf("MatrixB,");
    printf("%d*%d:
",COL,ROW);
    for (i = 0; i < COL; i++)
    {
        for (j = 0; j < ROW; j++)
            printf("%8d", matrixB[i][j]);
        printf("
");
    }

    printf("
  Press Any Key to Quit...  
");
    getchar();
    getchar();
    return 0;
}

三、Python代码

运行环境:Pycharm,python3.74
以下是代码:

#用二维数组实现矩阵的转置
global ROW,COL
ROW=3
COL=4

def main():
    matrixA=[[0 for i in range(COL)] for i in range(ROW)]
    matrixB=[[0 for i in range(ROW)] for i in range(COL)]

    print("Enter elements of the matrixA,",ROW,COL)
    for i in range(0, ROW):
        for j in range(0, COL):
            matrixA[i][j]=int(input())

    for i in range(0, ROW):
        for j in range(0, COL):
            matrixB[j][i] = matrixA[i][j]

    print("MatrixB,", COL, ROW)
    for i in range(0, COL):
        for j in range(0, ROW):
            print(matrixB[i][j],end="  ")
        print("")
    print("Press Any Key to Quit...")

main()

以上是关于C代码和python代码:用二维数组实现矩阵的转置的主要内容,如果未能解决你的问题,请参考以下文章

013.用二维数组实现矩阵转置

数组的shape属性与矩阵转置的区别在哪里?

LeetCode210513矩阵的转置和公平的糖果棒交换

从二维数组转置矩阵

数据结构22:数组和广义表

Python萌新求救!!创建一个二维矩阵~~