51Testing软件测试论坛
标题:
怎样求这样一个矩阵?(解答)
[打印本页]
作者:
keenling
时间:
2007-7-16 23:23
标题:
怎样求这样一个矩阵?(解答)
某同学提问:
怎样求这样一个矩阵?
假如有一个nxm 的矩阵,其值分布如下, 哪位能用C or C++ 求出呀, 谢谢帮忙啦.
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
不好意思,我回帖的两个程序都有点错,而且论坛复制文本有点bug,不能正常显示,所以在这里从新发一下附件,C++的源代码。没想到这样一个简单的程序居然花了很长时间,算法比想象的复杂多,有很多意想不到的情况。
程序扩展一点功能,能打印任何m*n矩阵。但由于算法复杂,可能还有bug,如果你再碰到异常情况,请告诉我一下,谢谢!
作者:
lhjtc8257
时间:
2007-7-17 23:28
#include <stdio.h>
main()
{
int array[5][5],t=0,m=0,r=0,c=0,s1=1,s2=4,s3=0,s4=4,i=1;
while(s1!=4)
{
while(m<=s4)
{
array[t][m]=i;
m++;
i++;
}
s4--;
m--;
i--;
while(t<=s2)
{
array[t][m]=i;
t++;
i++;
}
s2--;
t--;
i--;
while(m>=s3)
{
array[t][m]=i;
m--;
i++;
}
s3++;
m++;
while(t>s1)
{
t--;
array[t][m]=i;
i++;
}
t=s1;
m=s1;
s1++;
}
for(r=0;r<5;r++)
{
for(c=0;c<5;c++)
printf("%3d",array[r][c]);
printf("\n");
}
}
但不知道,符合不符合
作者:
Susan1202
时间:
2007-7-19 22:40
看啦, 可以实现, 不过好难哟. 谢谢.
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2