怎样求这样一个矩阵?(解答)
某同学提问:怎样求这样一个矩阵?
假如有一个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,如果你再碰到异常情况,请告诉我一下,谢谢! #include <stdio.h>
main()
{
int array,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=i;
m++;
i++;
}
s4--;
m--;
i--;
while(t<=s2)
{
array=i;
t++;
i++;
}
s2--;
t--;
i--;
while(m>=s3)
{
array=i;
m--;
i++;
}
s3++;
m++;
while(t>s1)
{
t--;
array=i;
i++;
}
t=s1;
m=s1;
s1++;
}
for(r=0;r<5;r++)
{
for(c=0;c<5;c++)
printf("%3d",array);
printf("\n");
}
}
但不知道,符合不符合 看啦, 可以实现, 不过好难哟. 谢谢.
页:
[1]