| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 430 人关注过本帖
标题:二维数组作业太难了!!帮帮我吧!!
取消只看楼主 加入收藏
wangziran
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-11-5
结帖率:40%
收藏
已结贴  问题点数:6 回复次数:1 
二维数组作业太难了!!帮帮我吧!!
/*    0  1  2  3  4  5  6  7  8  9  10 11 12
 
 0     1  1  1  1  0  1  1  1  1  1  0  1  1
 1     1  3  3  3  1  3  1  3  3  3  3  3  1
 2     0  3  3  3  1  3  1  3  3  3  3  3  1
 3     1  1  0  1  1  1  1  1  1  1  1  0  1
在这个二维数组中,用户输入一个开始点数字,和一个结束点数字,数字只能为1,求开始点数字到结束点数字最少要走多少步才能到达,
开始点数字只能以横向或竖向移动,3相当于墙,不能通过,0相当于走过这个点需要0步,例如用户输入0 0\n 3 6\n,那么结果应
该为7.

*/
#include <stdio.h>
void main()
{
    int a[4][13]={1,1,1,1,0,1,1,1,1,1,0,1,1,1,3,3,3,1,3,1,3,3,3,3,3,1,0,3,3,3,1,3,0,3,3,3,3,3,1,1,1,0,1,0,1,1,1,1,1,1,0,1};
    int x,y,a,b;
    int he=0;
    scanf("%d%d",&x,&y);
    scanf("%d%d",&a,&b);
    if(a[x][y]==1&&a[a][b]==1)
    {
        for(int i=0;i<48;i++)
        {
            if(a[x+1][y]==1||0&&x+1>=0&&x+1<=3)
            {
                ???   
            }else{break;}
            if(a[x-1][y]==1||0&&x-1>=0&&x-1<=3)
            {
                ???   
            }else{break;}
            if(a[x][y+1]==1||0&&y+1>=0&&y+1<=12)
            {
                ???   
            }else{break;}
            if(a[x][y-1]==1||0&&y-1>=0&&y-1<=12)
            {
                ???   
            }else{break;}
            
            if(x==a&&y==b)
            {
               ???   
            }
            
        }
    }
    else
    {
        printf("输入地点有误");
    }
    printf("%d",he);
}
想了半天,想不出怎么做,就写了以上一点程序,怎么填if里的东西,全算不出来,太难了,我是初学者,求好心人帮帮我吧!谢谢

[ 本帖最后由 wangziran 于 2009-11-8 17:12 编辑 ]
2009-11-08 15:11
wangziran
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-11-5
收藏
得分:0 
6和7都无所谓 6是开始点到结束点之间的间隔总和 7是开始点向结束点移动的步数(去掉0) 我现在是不会处理他怎么计算这个过程 6,7这个答案只不过是一个问法
2009-11-08 16:54
快速回复:二维数组作业太难了!!帮帮我吧!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018596 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved