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

目录

  • 一、总结
  • 二、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:\n",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:\n",COL,ROW);
    for (i = 0; i < COL; i++)
    {
        for (j = 0; j < ROW; j++)
            printf("%8d", matrixB[i][j]);
        printf("\n");
    }

    printf("\n  Press Any Key to Quit...  \n");
    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()

原文地址:https://www.cnblogs.com/jmshy/p/12337938.html

时间: 2024-07-29 01:10:12

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

在python中定义二维数组

发表于 http://liamchzh.0fees.net/?p=234&i=1 一次偶然的机会,发现python中list非常有意思. 先看一段代码 [py]array = [0, 0, 0]matrix = [array*3]print matrix## [[0,0,0,0,0,0,0,0,0]][/py] 这段代码其实没有新建一个二维数组 再看一段代码 [py]array = [0, 0, 0]matrix = [array] * 3print matrix## [[0, 0, 0], [

二维数组(矩阵)元素查找

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思考 二分查找 a1 a2 a3 a4 a5 a6 b1 → → → → → c1 ↓ d1 ↓ e1 ↓ f1 ↓ 总结 题目的理解错了,错误的认为,矩阵满足这样的规律: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 其实这只是一个特例,题目只说举证中的元素满足

《两个二维数组(矩阵)相乘》

1 //两个二维数组相乘 2 #include<stdio.h> 3 #include<stdlib.h> 4 #define M 2 5 #define N 3 6 //#define P 6 7 void main() 8 { 9 int i,j,k; 10 //二维数组A和B求乘积,积放在数组C中 11 int A[M][N],B[N][M],C[M][M]; 12 //输入二维数组A的元素的值 13 printf("请输入矩阵A的元素:"); 14 fo

返回一个二维数组最大矩阵的和

设计思想: 首先肯定是把二维转化为一维数组来比较,这样,先从第一行开始,把第一行看成是一维数组选出最大子数组具体实现是,设子数组和为sum=0,另设b=0,a[0][i]从a[0][0]开始检索当b<0时b=a[0][i]否则b=b+a[0][i]只有当b>sum时sum=b,(首先保证sum的初次赋值是大于0然后就是对b的操作首次出现正数时赋给b此时sum=0,b>sum,所以sum=b,然后继续上一步对b的正负性的判断分解为,开始由上一步b>0所以b=b+a[0][i],若a[

python 二维数组 转 矩阵

x = numpy.array([[1,2,3],[4,5,6],[7,8,9]]) print x print x.shape 输出 [[1 2 3] [4 5 6] [7 8 9]] (3L, 3L) [Finished in 0.2s] 原文地址:https://www.cnblogs.com/sea-stream/p/10801261.html

1.一维数组:选择排序法、二分查找法; 2.二维数据:定义、引用、初始化,二维数组与矩阵。

5-1 输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出"Yes", 否则,输出"No".主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等 一.实验代码 #include <stdio.h> int main(void) { int found, i, k, n; int a[10][10]; scanf ("%d

二维数组(矩阵)之将矩阵旋转90度

将矩阵旋转90度: 题目描述: 例如将一个5*5的矩阵顺时针旋转90度:旋转前 1       2        3         4         5 6       7        8         9        10 11    12      13      14       15 16    17      18      19       20 21    22      23      24       25 选转后: 21     16      11       6

二维数组的输出--(指针输出 和 指针数组输出)

当我第一次看见数组指针和指针数组这两个名字的时候,我以为是一个东西呢,当看到英文解释就知道这两个是不一样的了. 指针数组:array of pointers,用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,指向数组的指针,数组可以是任意维的 下面举例说明: int a[3][4]   --->这个无需多说,就是一个二维数组. int (*p)[4]   --->就相当于int p[][4],它是一个二维数组的指针,可以指向一个第二维度为4的二维

二维数组作为函数参数传递剖析

前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {...} //以下两种可以忽略行数 f(int daytab[][13]) {...} f(int (*daytab)[13]) {...} 甚至会有人告诉你多维数组作为参数传递可以省略第一维,其他维不能省略.然而你对这种形式并不满意:如果事先限定了二维数组的大小,函数的泛用性就要大打折扣了.因为你真正需要的,