c语言求c语言实现矩阵转置置的问题,题目如图

【code】C语言_实现输入的矩阵的转置输出
/////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
#define SIZE 20 //预定义要进行转置的矩阵最大大小为 20*20
//为了函数参数传递的方便,将行和列的具体大小定义为全局变量
//矩阵的输入函数
void inputMatrix(int a[][SIZE] , int n, int m){
//二维数组参数下标必须要确定
&for(i = 0;i &i++){
&&for(j = 0;j &j++){
&&&scanf("%d",&a[i][j]);
//矩阵的输出函数
void outputMatrix(int b[][SIZE] , int n, int m){
&for(i = 0;i &i++){
&&for(j = 0;j &j++){
&&&printf("%d
",b[i][j]);&&
&&printf("\n");
//每次打印完一行后进行换行
//矩阵的转置运算
void matrixTransport(int a[][SIZE], int b[][SIZE]){
&for(i = 0;i &i++){
&&for(j = 0; j &
&&&b[i][j] =
int main()
&//定义数组并初始化
&int a[SIZE][SIZE]={0};
&int b[SIZE][SIZE]={0};//定义数组,注意要初始化
&//矩阵行,列数的确定
&printf("请输入您要进行转置的矩阵的行数 : column
&scanf("%d",&column);
&printf("\n请输入您要进行转置的矩阵的列数 : row = ");
&scanf("%d",&row);
&//函数调用及主功能实现
&printf("请输入一个 %d X %d 的矩阵 \n" , column ,
&inputMatrix(a, column , row);
&matrixTransport(a,b);
&printf("转置后的矩阵是 :\n");
&outputMatrix(b, row , column);
&getchar();
&return 0;
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。已解决问题
编写C语言程序,将一个N行N列的矩阵转置。。各位大虾,帮帮忙啊。。急用中~~~
浏览次数:4697
用手机阿里扫一扫
最满意答案
#include&&stdio.h&&#define&N&3void&main(){&int&i,j,t,a[N][N]={1,2,3,4,5,6,7,8,9};&printf(&before:\n&);&for(i=0;i&N;i++)&{&&for(j=0;j&N;j++)&&&printf(&%3d&,a[i][j]);&&printf(&\n&);&}&for(i=0;i&N;i++)&&for(j=0;j&i;j++)&&{&&&t=a[i][j];&&&a[i][j]=a[j][i];&&&a[j][i]=t;&&}&printf(&after:\n&);&for(i=0;i&N;i++)&{&&for(j=0;j&N;j++)&&&printf(&%3d&,a[i][j]);&&printf(&\n&);&}}
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is okc语言矩阵转置问题_百度知道
c语言矩阵转置问题
哪位大虾知道下面程序哪错了,怎么改啊,谢谢了
#include &stdio.h&
#include &stdlib.h&
#define MAXSIZE 20 /*矩阵中最大非零元的个数*/
typedef struct triple
/*行标,本程序中从1开始的*/
/*列标,本程序中从1开始的*/
我有更好的答案
其实只是小问题,你自己都编的很好了。就是保存屏幕不在按入Q和Enter键屏幕不会马上消失上面有问题:你可以用两个getchar()函数来读取键盘输入,前一个数缓冲enter键,后一个等待键盘输入,然后屏幕消失!代码已修改,如下:#include &stdio.h& #include &stdlib.h& #define MAXSIZE 20 /*矩阵中最大非零元的个数*/ typedef struct triple {
/*行标,本程序中从1开始的*/
/*列标,本程序中从1开始的*/
/*非零元*/ }T /*三元组定义*/ typedef struct tabletype {
/*矩阵的行数*/
/*非零元个数*/ Triple data[MAXSIZE+1]; /*非零元的三元组表,*/ }T /*三元组线性表*/ void out_matrix(Tabletype *); /*输出 矩阵*/ /*以下为转置程序,将a所指矩阵转置,将结果存入b所指的矩阵中*/ int TransposeSMatrix(Tabletype *,Tabletype *); int main( void ) {
while(1) { printf(& @@@@@@@@@@本程序的功能是实现稀疏矩阵的普通转置@@@@@@@@@@@@@@@@@@@\n&); printf(& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n&); /*源矩阵a*/ Tabletype a= {6,7,8,{ {1,2,12},{1,3,9},{3,1,-3},{3,6,14},{4,3,24},{5,2,18},{6,1,15},{6,4,-7} }}; T /*声明矩阵b*/ printf(&The source Matrix:\n&); out_matrix(&a); if(TransposeSMatrix(&a,&b)) /*若a不为零矩阵则转置a,存入b中*/ { printf(&After TransposeSMatrix: \n&); out_matrix(&b); } else { printf(&The matrix is zeros:\n&); out_matrix(&a); } do{ printf(&Input 'q' to quit and ENTER run again:&); if((ch = getchar()) == 'q' || ch == 'Q') getchar(); //读取entergetchar();//任意字符exit(0); }while(ch!='\n'); system(&cls&); } return 1; } void out_matrix(Tabletype *a) /* 打印矩阵*/ { int i,j,k = 0; for(i = 1 ;i &= a-& i++) { for(j = 1; j&= a-& j++) { /*判断是否为非零元*/ if((a-&data[k].i == i)&&(a-&data[k].j == j)) { printf(&%4d&,a-&data[k].e); k++; } else printf(&%4d&,0); } printf(&\n&); } } int TransposeSMatrix(Tabletype *a,Tabletype *b) { int p,q, b-&mu = a-& /*原矩阵的行数为新矩阵的列数,愿列数为新行数,非零元个数不变*/ b-&nu = a-& b-&tu = a-& if(b-&tu) /*若a不为零矩阵*/ { q = 0; /*b-&data下标*/ for(col = 1; col & a-& col++) for(p = 0;p & a-&p++) /*p为a-&data的下标*/ if(col == a-&data[p].j) /*按b-&data[q]中的列标对a-&data[p]进行扫描*/ { b-&data[q].i = a-&data[p].j; b-&data[q].j = a-&data[p].i; b-&data[q].e = a-&data[p].e; q++; } return 1; } else /*a为零矩阵*/ return 0; }不知道是不是你的要求。希望能帮助你!
采纳率:52%
为您推荐:
其他类似问题
您可能关注的内容
矩阵转置的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言 转置矩阵(数组)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言 转置矩阵(数组)
&&设A为m×n阶矩阵(即m行n列),第i 行j 列的元素是a(i,j),即:A=a(i,j)
定义A的转置为这样一个n×m阶矩阵B,满足B=a(j,i),即 b (i,j)=a (j,i)(B的第i行第j列元素是A的第j行第i列元素),记A'=B。(有些书记为AT=B,这里T为A的上标)
直观来看,将A的所有元素绕着一条从第1行第1列元素出发的右下方45度的射线作镜面反转,即得到A的转置。
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢C语言编程题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言编程题
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩17页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 c语言矩阵的转置 的文章

 

随机推荐