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

菜鸟问问题之二:程序改错题。

ruoruo1115 发布于 2007-10-21 21:21, 343 次点击

要求生成并显示这样一个矩阵:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

main 函数里面是两个子函数调用:一个子函数是排列矩阵,一个子函数是显示矩阵;
主函数和显示矩阵的函数偶觉得没啥错误就不写这里了。
排列矩阵的函数没记全,只记了核心代码。

number = 1;
index1 = 1;
index2 = 1;
direction = 1;
dimentionFlag = 0;
lowerBound = 0;
upperBound = Size; // 在main函数里Size定义为5;

while(upperBound >= lowerBound)
{
for(int i=0;i<4;i++)
{
for(int j=lowerBound;j<upperBound;j++)
{
matrix[index1*size+index2-1] = number;
number++;

if(j>=upperBound)
{
dimentionFlag = !dimentionFlag;

if(i%2==1)
{
direction = (direction+1)%4;
}
}

if(dimentionFlag) { index1 += direction;}
else { index2 += direction;}
}

if(i%2==0)
{
if(i%4==0) { lowerBound++;}
else { upperBound++;}
}
}
}

谢谢大家来帮忙找错啊!

0 回复
1