keenling 发表于 2007-7-16 23:23:03

怎样求这样一个矩阵?(解答)

某同学提问:
怎样求这样一个矩阵?

假如有一个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:48

#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");
      }
}


但不知道,符合不符合

Susan1202 发表于 2007-7-19 22:40:19

看啦, 可以实现, 不过好难哟. 谢谢.
页: [1]
查看完整版本: 怎样求这样一个矩阵?(解答)