| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1553 人关注过本帖
标题:[求助]迷宫求c版
只看楼主 加入收藏
happyyu
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-4-10
收藏
 问题点数:0 回复次数:9 
[求助]迷宫求c版
简单点
搜索更多相关主题的帖子: 迷宫 
2005-04-26 18:06
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
嘿嘿,我有~,这个程序要你自己输入迷宫图形,就是图形要自己初始化.迷宫大小为8*6,但是最外围要添补上去,最外围的全部为"1",先发了,等会我把运行图片发上
ZL7RLUZQ.rar (1.19 KB)


[此贴子已经被作者于2005-4-26 18:42:42编辑过]




CSe860U5.rar (1.21 KB)

土冒
2005-04-26 18:33
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

土冒
2005-04-26 18:45
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
晕倒,今天达到最大上传数了,运行结果传不上去了,if(可以用),我就不发了;else我明天发上来

土冒
2005-04-26 18:49
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
迷宫运行结果
图片附件: 游客没有浏览图片的权限,请 登录注册
PS:给的积分好少哦

[此贴子已经被作者于2005-4-27 12:30:50编辑过]


土冒
2005-04-27 12:29
happyyu
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-4-10
收藏
得分:0 
下次给你多点

我晕死,因为不会
2005-04-27 14:00
fbczunwang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-3-9
收藏
得分:0 
谢谢各位,帮忙及时!
2005-05-22 12:26
sd1428354
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-5-30
收藏
得分:0 
那可以顺便把说明书给发上来咯不
      先谢谢那位好心人拉
 
2005-05-31 11:17
wangjianluck
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-6-4
收藏
得分:0 

#include<stdio.h> #define r 64 #define m2 8 #define n2 10 int m=m2-2,n=n2-2; typedef struct { int x,y; //行列坐标 int pre; }sqtype;

sqtype sq[r]; struct moved { int x, y; //坐标增量,取值-1,0,1 }move[8];

int maze[m2][n2];

int PATH(int maze[][n2]) //找迷宫maze的路径 { int i,j,k,v,front,rear,x,y; int mark[m2][n2]; for(i=0;i<m2;i++) for(j=0;j<n2;j++) mark[i ][j]=0; printf("Please Input move array\n"); for(i=0;i<8;i++) { scanf("%d,%d",&move[i ].x,&move[i ].y); sq[1].x=1; sq[1].y=1; sq[1].pre=0; front=1; rear=1; mark[1][1]=1; //标记入口以到达过 while(front<=rear) { x=sq[front].x; y=sq[front].y; //(x,y)为出发点 for(v=0;v<8;v++) //搜索(x,y)的8个相邻(i,j)是否可以到达 { i=x+move[v].x; j=y+move[v].y; if((maze[i ][j]==0)&&(mark[i ][j]==0))//(i,j)为可以到达点,将起入队 { rear++; sq[rear].pre=front; mark[i ][j]=1; //标记(i,j)已经到达过 } if((i==m)&&(j==n)) //到达出口 { printf("THE PATH: \n"); k=rear; do { printf("(%d %d)<-",sq[k].x,sq[k].y); k=sq[k].pre;//找前一点 }while(k!=0);//k=0是已经到达 for(i=1;i<19;i++) printf("%3d",i); printf("\n"); for(i=1;i<19;i++) printf("%3d",sq[i ].x); printf("\n"); for(i=1;i<19;i++) printf("%3d",sq[i ].y); printf("\n"); for(i=1;i<19;i++) printf("%3d",sq[i ].pre); printf("\n"); return(1); //成功返回 } } front++; //出队,front 指向新的出发点 } } //队空,循环结束 printf("There is no path! \n"); return(0); //迷宫没有路径返回 }

main() { int i,j; for(i=0;i<10;i++) { maze[0][i ]=1; maze[7][i ]=1; } for(i=0;i<8;i++) { maze[i ][0]=1; maze[i ][9]=1; } /*for(i=1;i<7;i++) for(j=1;j<9;j++) { printf("%d %d",i,j); scanf("%d",&maze[i ][j]); }*/ maze[1][1]=0;maze[1][2]=1;maze[1][3]=0;maze[1][4]=1;maze[1][5]=1;maze[1][6]=0;maze[1][7]=1;maze[1][8]=1; maze[2][1]=1;maze[2][2]=0;maze[2][3]=0;maze[2][4]=1;maze[2][5]=1;maze[2][6]=0;maze[2][7]=1;maze[2][8]=0; maze[3][1]=0;maze[3][2]=1;maze[3][3]=1;maze[3][4]=0;maze[3][5]=0;maze[3][6]=1;maze[3][7]=1;maze[3][8]=1; maze[4][1]=1;maze[4][2]=0;maze[4][3]=0;maze[4][4]=1;maze[4][5]=1;maze[4][6]=0;maze[3][7]=0;maze[4][8]=1; maze[5][1]=1;maze[5][2]=1;maze[5][3]=0;maze[5][4]=0;maze[5][5]=1;maze[5][6]=1;maze[5][7]=0;maze[5][8]=1; maze[6][1]=0;maze[6][2]=1;maze[6][3]=1;maze[6][4]=1;maze[6][5]=0;maze[6][6]=0;maze[6][7]=0;maze[6][8]=0;

printf("\n"); for(i=0;i<8;i++) { for(j=0;j<10;j++) printf("%d",maze[i ][j]); printf("\n"); } PATH(maze); }

2005-06-04 18:15
搁浅时光
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-5-28
收藏
得分:0 
回复 2楼 牛虻
在吗。为什么我下载了你的压缩包运行之后有两个错误呢

做一个安安静静的码代码妹子!!!
2017-06-04 15:42
快速回复:[求助]迷宫求c版
数据加载中...
 
   



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

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