求教算法(简单)
将一个给定的二维数组(3x3)转置,即行列互换 问题点数:20、回复次数:11Top
1 楼Roage(Void)回复于 2001-12-27 17:04:28 得分 0
???行列互换???
怎么换啊???
把内外循环的变量在二维数组的[]中换一下不就完了??
你是要怎么换啊?Top
2 楼Linux2001(闭关开发中)回复于 2001-12-27 17:08:15 得分 0
呵呵我知道啊,很简单的,使用这个公式:
转换成行为主X+(x*i+j)*R
转换成列为主X+(x*j+i)*MTop
3 楼blood_jz()回复于 2001-12-27 17:38:13 得分 0
能不能说详细点啊Top
4 楼GZCompiler(编译器)回复于 2001-12-27 18:06:34 得分 5
int a[3][3];
int *p=a;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
p[i][j]=a[j][i];
}
}Top
5 楼A_Qiao()回复于 2001-12-27 18:12:00 得分 0
楼上的老兄,你把a的地址赋给了p,然后执行循环,得到的结果是不正确的。应该另开数组。Top
6 楼cwsuperman(cwsuperman)回复于 2001-12-27 18:20:45 得分 0
应该进行交换操作.GZComplier,你学过交换吗?要有一个中间变量,哈哈.Top
7 楼GZCompiler(编译器)回复于 2001-12-27 18:44:21 得分 15
int a[3][3];
int p[3][3];
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
p[i][j]=a[j][i];
}
}
一定要有中间变量吗?不一定吧。数组p就是数组a的转置。Top
8 楼fangyifeng(想吃老虎的猪)回复于 2001-12-27 19:49:34 得分 0
我的想法也和你的想法差不多的,不一定要有中间变量的.这是for语句和
数组的基本用法啊!Top
9 楼rhesus(越堕落越快乐)回复于 2001-12-27 20:06:36 得分 0
to:GZCompiler(编译器)
第二个程序应该是完全正确的!Top
10 楼tianzhong78(迷津侍者)回复于 2001-12-27 22:17:21 得分 0
两个都不错呀Top
11 楼GZCompiler(编译器)回复于 2001-12-28 09:10:29 得分 0
主持人呢?该实现我的家庭梦想了吧?Top




