51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 784|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 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,如果你再碰到异常情况,请告诉我一下,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-17 23:28:48 | 只看该作者
#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");
        }
}


但不知道,符合不符合
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-19 22:40:19 | 只看该作者
看啦, 可以实现, 不过好难哟. 谢谢.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-7 18:00 , Processed in 0.145927 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表