用C++语言编写:输入一个2维矩阵,输出这个矩阵的转置矩阵
发布网友
发布时间:2022-04-26 05:23
我来回答
共4个回答
热心网友
时间:2022-06-21 03:43
#include <iostream>
using namespace std;
int main()
{
int m,n,i,j;
int data[100][100];
cout<<"请输入矩阵的行数和列数"<<endl;
cout<<"行数:"<<endl;
cin>>m;
cout<<"列数:"<<endl;
cin>>n;
cout<<"请输入矩阵的元素"<<endl;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
cin>>data[i][j];
}
cout<<"你输入的矩阵为:"<<endl;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
cout<<data[i][j]<<' ';
}
cout<<endl;
}
cout<<"你输入的矩阵的转置矩阵为:"<<endl;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cout<<data[j][i]<<' ';
}
cout<<endl;
}
return 0;
}
根据提示输入,可以得到结果
热心网友
时间:2022-06-21 03:44
建议你使用eigen库,eigen是一个强大的矩阵运算的库。这是他的官网网页链接。可以做转置,逆,分解等各种运算。网上有很详细的安装教学。在ubuntu,windows都能使用。
简单的介绍eigen下如何定义二维矩阵。
Eigen::Matrix<float,2,2> matrix; //定义一个二维矩阵
matrix << 1,2,3,4 ; //赋值
matrix = matrix.transform(); //调用类内函数,实现转置
同样,eigen还可以进行qr分解,svd分解等。
热心网友
时间:2022-06-21 03:44
#include<stdio.h>
main()
{
int m,n,i,j;
int a[100][100];
printf("输入行数:");//鉴于你的是二维矩阵,输入的m值应为2
scanf("%d",&m);
printf("输入列数:");
scanf("%d",&n);
for(i=0;i<m;i++)//输入原数组的值,同时获取转置数组的值
for(j=0;j<n;j++){
printf("a[%d][%d]:",i,j);
scanf("%d",&a[j][i]);
}
//输出转置后的数组
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
热心网友
时间:2022-06-21 03:45
scanf("%d%d",&m,&n);
int a[m][n];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(int j=0;j<n;j++)
for(int i=0;i<m;i++)
printf("%d ",a[i][j]);
用C++语言编写:输入一个2维矩阵,输出这个矩阵的转置矩阵
include <iostream> using namespace std;int main(){ int m,n,i,j;int data[100][100];cout<<"请输入矩阵的行数和列数"<<endl;cout<<"行数:"<<endl;cin>>m;cout<<"列数:"<<endl;cin>>n;cout<<"请输入矩阵的元素"<<endl;for(i=0;i<m;i++)for(j=0;j<n;j++){ cin>...
...C语言问题,请大神指点:在主函数中定义一个二维数组,并输入一个...
include <stdio.h> int main(){ int a[3][3];int temp,i,j;//输入 printf("请输入一个3*3的矩阵,回车键换行:\n");for(i=0;i<3;i++){ for(j=0;j<3;j++){ scanf("%d",&a[i][j]);} getchar();} //转置 for(i=0;i<3;i++){ for(j=i+1;j<3;j++){ temp...
编一C个程序:将一个任意二维数组转置
printf("转置矩阵:\n");for(i=0; i<3; i++){ for(j=0; j<3; j++)printf("%d ", n[i][j]); /*输出原始矩阵的转置矩阵*/ printf("\n");} return 0;}
编写程序,c语言。用一维数组存储二维数组的数据看,编写函数完成矩阵的...
代码一:include<stdio.h> int MAX,MIN;int maxi,maxj,mini,minj;void main(){ void result(int x[][5],int m,int n);int a[5][5],max,min,i,j;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);MAX=MIN=a[0][0];maxi=maxj=mini=minj=0;result(a,5...
急!C语言二维矩阵转置
27 //int RsizeM, CsizeM;28 //int RsizeTr, CsizeTr;29 int MatMain[MAXSIZER][MAXSIZEL]={1,2,3,4,5,6,7,8,9,10,11,12};30 int MatTransp[MAXSIZEL][MAXSIZER];31 32 Transpose(MatMain, MatTransp, MAXSIZER,MAXSIZEL);33 PrMat(MatTransp);34 return 0;} ...
编写程序,用二维数组存储矩阵元素,从键盘输入数据,将矩阵转置后按行输出...
int main(void){ int a[4][4],i,j,t;printf("请输入矩阵:\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);printf("输入的矩阵是:\n");for(i=0;i<4;i++){ for(j=0;j<4;j++)printf("%d\t",a[i][j]);printf("\n");} printf("\n转置后...
编写函数将一个nxn的二维矩阵按下面要求转置。例如:原来有3x3的...
就是将矩阵逆时针旋转90度~然后交换8 2 和1 4. 39 注意观察旋转后的矩阵和原矩阵的坐标关系~~有联系的~include "stdio.h"define N 3 int main(){ int a[N][N], b[N][N];int i = 0, j =0;int temp = 0;/*初始化a,b数组*/ for(i = 0; i < N; i++){ for(j = 0...
用C语言编写一个矩阵转置的函数,矩阵的行数和列数在程序中由用户输入...
int row,clo,**nList=NULL,**nListSave=NULL; printf("输入矩阵行列数:"); scanf("%d%d",&row,&clo); nList=getList(row,clo); setNum(nList,row*clo); printf("输入的矩阵为:\n"); prtList(nList,row,clo); printf("转置后的矩阵为:\n")...
数组编程:求一个二维矩阵的转置矩阵,即将原矩阵行列互换的结果。
shift(matrix2,matrix3);//::打印原矩阵::printf("The oringinal matrix (3*4):\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%5d",matrix2[i][j]);printf("\n");} //::打印转置矩阵::printf("The matrix after shift (4*3):\n");for(i=0;i<4;i++){for(j=...
c语言任意输入一个2x3矩阵,求转置,本人新学,求教
b[j][i]=a[x][y];这一行里面a[x][y]应该改为a[i][j];求转置就是行列互换,所以这里的变量你需要把两个下标变量互换输入就可以了,x,y是没有不行的。