编写程序实现将一个n*n的矩阵的行列互换,在屏幕上输出互换后的矩阵。具体要求如下: 。

编写程序实现将一个n*n的矩阵的行列互换,在屏幕上输出互换后的矩阵。具体要求如下: 。,第1张

行列互换,也就是将 a[i][j]的数据 放到b[j][i]上。 对于初学者,用第二个矩阵最简单了。 于是 int main(){ int a[4][4],b[4][4]; int i,j; for(i = 0; i < 4; i ++) for(j = 0; j < 4; j ++) scanf("%d",&a[i][j]); for(i = 0; i < 4; i ++) fo

题主既然问出行列转换这样的问题,那就说明题主的Python功力远远不到家的。行列互换其实在Python中很快捷的就可以实现了。

首先,让我们来建立一个矩阵,这里我们使用numpy包下的random包来生成3×3的矩阵。大概的代码如下所示:

import numpy as np

a=nprandomrandom((3,3))

这样,我们就可以生成一个随机数组成的3×3矩阵。之后我们就可以将这个矩阵进行行列互换了。具体代码也非常的简单,具体如下所示:

b=aT

如上所示,只需要对a对象进行T *** 作,就可将我们的数据进行行列转换了。

所以,题主在学习的时候,一定要学会用简单的方法去解决复杂的问题。而不要将自己的问题复杂化,就如同楼上某位同学写的代码那样,明显太复杂了。本来三行代码能够实现的功能,搞得如此纠结。

另外,如果题主想进入数据分析行业,我推荐一本Python的相关书籍给你,这本书可以让你掌握一些常见的数据整理、数据清洗 *** 作。这本书的名字是《利用Python进行数据分析》,该书作者是高效数据分析包Pandas的开发者,对数据分析基本技能的提升作用显著。

如果有什么想与我交流的,欢迎在本题下进行评论。

方法一、

#include&lt;stdioh&gt;

void main(){

void switchArray(int[3][3]);

int array[][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j;

switchArray(array);

return 0;

}

void switchArray(int array[][3]){

int newArray[3][3];

int i,j;

for(i=0;i&lt;3;i++){

for(j=0;j&lt;3;j++){

newArray[j]&lt;i&gt;=array&lt;i&gt;[j];

}

}

for(i=0;i&lt;3;i++){

for(j=0;j&lt;3;j++){

printf("%d",newArray&lt;i&gt;[j]);

}

printf("\n");

}

}

方法二、用指针实现:

#include&lt;stdioh&gt;

void main(){

void switchArray(int[3][3]);

int array[][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j;

int(pToArray)[3];

pToArray=array;

switchArray(pToArray);

return 0;

}

void switchArray(int array[][3]){

int newArray[3][3],(pTArr)[3],(pTNewArr)[3];

int i,j;

pTArr=array;

pTNewArr=newArray;

for(i=0;i&lt;3;i++){

for(j=0;j&lt;3;j++){

((pTNewArr+j)+i)=((pTArr+i)+j);

}

}

for(i=0;i&lt;3;i++){

for(j=0;j&lt;3;j++){

printf("%d",((pTNewArr+i)+j));

}

printf("\n");

}

}

扩展资料:

用法:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdioh中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdioh”中。但作为一个特例,不要求在使用printf函数之前必须包含stdioh文件。

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。

给你举个例子:矩阵a[2][3]=1 2 3

4 5 6

要求行列互换,那么b[3][2]=1 4

2 5

3 6

程序如下:

#include "stdioh"

main()

{int a[2][3],i,j,b[3][2];

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

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

b[j][i]=a[i][j];//现a矩阵的行和列等于转换后b矩阵的列和行;

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

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

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

printf("\n");

}

希望楼主能学会这个方法

以这样两个矩阵为例。

文字版代码:

#include "stdioh"

main ()

{

static int a[2][3] = {{1,2,3},{4,5,6}};

static int b[3][2], i,j;

printf("array a:\n");

for(i=0;i<=1;i++)

 {

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

   {

    printf("%5d",a[i][j]);

    b[j][i] = a[i][j];

   }

  printf("\n");

 }

printf("array b:\n");

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

 {

 for(j=0;j<=1;j++)

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

 printf("\n");

 }

}

以上就是关于编写程序实现将一个n*n的矩阵的行列互换,在屏幕上输出互换后的矩阵。具体要求如下: 。全部的内容,包括:编写程序实现将一个n*n的矩阵的行列互换,在屏幕上输出互换后的矩阵。具体要求如下: 。、如何用python实现行列互换、c语言问题 写一个函数,使给定的一个3x3的二维整型数组转置,即行列互换。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9523637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存