注册 登录
编程论坛 新人交流区

[求助]谢谢大家帮下忙

kenver123 发布于 2007-11-01 22:46, 393 次点击
#include<stdio.h>
main()
{int i,j,t,a[4][4]={35,73,65,50,33,47,66,28,42,19,25,60,30,72,54,26};
printf("输出矩阵:\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");}
for(i=0;i<4;i++)
for(j=0;j<i;j++) d 为什么这里的(i<j)是什么意思呢请详解谢谢!
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
printf("输出转置矩阵:\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");}
}
15 回复
#2
kenver1232007-11-01 23:52
for(i=0;i<4;i++)
for(j=0;j<i;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
前面两行为什么不可以去掉啊
#3
kenver1232007-11-03 09:42

怎么没人回帖啊

#4
kenver1232007-11-03 09:42
人哪里去了
#5
kenver1232007-11-03 09:42
高手呢
#6
kenver1232007-11-03 09:42
高手在哪啊
#7
kenver1232007-11-03 09:43

哎!!看来是没人的了

#8
kenver1232007-11-03 09:44

终于快到10片了啊

#9
kenver1232007-11-03 09:45
哦不是新手了哦 不过上面的 问题还是要请大家帮以下忙 啊  
#10
manm2007-11-03 09:59

呃,有难度哦!

#11
sky_yang_sky2007-11-03 10:15
for(j=0;j<i;j++) d 为什么这里的(i<j)是什么意思呢请详解谢谢!
這個有點二分法的意味,就是當j的值小於i的值時就不再進行數據交換C中這種例子很多,你可以調試一下看看他們的效果
#12
sky_yang_sky2007-11-03 10:16
以下是引用kenver123在2007-11-1 23:52:48的发言:
for(i=0;i<4;i++)
for(j=0;j<i;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
前面两行为什么不可以去掉啊

當然不能去,這是用來控制你交換數據時的循環次數的

#13
aiqiuhua07042007-11-03 10:57

#14
yanwu15152007-11-03 12:33
最好写程序时把要实现的功能一起说了,那样就可以直接修改了,只粘代码还要看老半天,费事,费时啊!大家可能没这个耐心的哦!
#15
suhongyi2007-11-03 12:34
支持十一楼的看法
自己画画矩阵,看看矩阵转置哪种最简单,效率最高。
算法很多,但是要是最高效的
#16
冰碎枫2007-11-03 19:57
1