问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++高手快来帮忙啊!

发布网友 发布时间:2024-10-20 15:37

我来回答

1个回答

热心网友 时间:2024-12-01 05:49

由三个文件组成,这是C++项目。
//POS.H
#pragma once
class pos
{
public:
pos(void);
~pos(void);
int x;
int y;
void up(void);
void down(void);
void left(void);
void right(void);
};

//pos.cpp
#include "pos.h"

pos::pos(void)
{
x=1;
y=1;
}

pos::~pos(void)
{
}

void pos::up(void)
{
x=x-1;
}

void pos::down(void)
{
x=x+1;
}

void pos::left(void)
{
y=y-1;
}

void pos::right()
{
y=y+1;
}
//mgqj.cpp
#include <iostream>
#include <stack>
#include <string>
#include <time.h>
#include "pos.h"
using namespace std;
const int canmove=1;
const int passed=2;
const int cantmove=0;
const int death=3;
int main()
{
string s="again";
do
{
system("cls");
srand(time(NULL));
int a[10][20];
for(int i=0;i<10;i++)
for(int j=0; j<20;j++)
a[i][j]=0;
for(int i=1;i<9;i++)
for(int j=1;j<19;j++)
if(rand()%3!=0) a[i][j]=canmove;
else a[i][j]=cantmove;
a[1][1]=canmove;
a[8][18]=canmove;
for(int i=0;i<10;i++)
{
for(int j=0;j<20;j++)
if(a[i][j]==cantmove) cout<<"*";
else cout<<" ";
cout<<endl;
}
pos nowpos;
stack<pos> mglj;
a[1][1]=passed;
mglj.push(nowpos);
while(!mglj.empty())
{
if(mglj.top().x==8&&mglj.top().y==18) break;
nowpos=mglj.top(); nowpos.right();
if(a[nowpos.x][nowpos.y]==canmove)
{
mglj.push(nowpos);
a[nowpos.x][nowpos.y]=passed;
continue;

}
nowpos=mglj.top(); nowpos.down();
if(a[nowpos.x][nowpos.y]==canmove)
{
mglj.push(nowpos);
a[nowpos.x][nowpos.y]=passed;
continue;

}
nowpos=mglj.top(); nowpos.left();
if(a[nowpos.x][nowpos.y]==canmove)
{
mglj.push(nowpos);
a[nowpos.x][nowpos.y]=passed;
continue;

}
nowpos=mglj.top(); nowpos.up();
if(a[nowpos.x][nowpos.y]==canmove)
{
mglj.push(nowpos);
a[nowpos.x][nowpos.y]=passed;
continue;

}
nowpos=mglj.top();
mglj.pop();
a[nowpos.x][nowpos.y]=death;
}
if(mglj.empty()) cout<<"迷宫不可通过"<<endl;
else
{
cout<<"查找路径成功"<<endl;
}
for(int i=0;i<10;i++)
{
for(int j=0;j<20;j++)
if(a[i][j]==cantmove) cout<<"*";
else if(a[i][j]==passed) cout<<"^";
else if(a[i][j]==death) cout<<"D";
else cout<<" ";
cout<<endl;
}
cout<<"输入again将生成新的迷宫,exit退出程序"<<endl;
cin>>s;
}while(s=="again");
system("pause");
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小篇幅造句 易车如何发布二手车 转让卖车信息流程 《易车》群聊消息关闭方法 易车消息夜间勿扰方法步骤 易车如何开启消息夜间勿扰 易车 开启@消息推送 ...当入射角是 时,反射角是 。我们能从各个方向看到本身不发光的物体... 发泄的近义词和反义词是什么_发泄是什么意思? 我的世界手游 我的世界手机版怎么做末地传送门? 我的世界手游 末地传送门怎么做? 安全评价师的报考科目有什么 来个C++高手帮帮忙!这个是作业...我不会 痔疮手术后不能吃什么 两人合伙买商铺纠纷怎么处理 Inno3D 9300GS游戏王子版X1重要参数 Inno3D 9300GS游戏王子版X1Inno3D 9300GS游戏王子版X1详细参数_百度知 ... Inno3D 9300GS高清王子版重要参数 Inno3D 9300GS游戏王子版重要参数 Inno3D 9300GS游戏高手海量版Inno3D 9300GS游戏高手海量版详细参数_百 ... Inno3D 9300GS游戏高手海量版重要参数 Inno3D 9300GS游戏王子版Inno3D 9300GS游戏王子版详细参数 Inno3D 9300GS高清王子版Inno3D 9300GS高清王子版详细参数 天才发明家尼古拉特斯拉与吸引力法则 续航更加惊人 特斯拉官方透露下一代新车信息 Industrial Next用特斯拉验证过的制造技术,推动下一代制造业 BigBang有什么歌好听? 四川经济日报的发行信息 不纯正不作为犯罪的成立法理 纯正不作为犯的构成要件有什么? ...比如七彩虹,华硕,微星,处理器只有英特尔和AMD?? 不作为犯罪构成要件有什么 请高手帮忙调试下一MFC程序 C++链接问题~求高手帮忙! 跪求高高手..编译c++程序时出现这个问题..帮忙解决下.. 怎么把英雄声音加到视频里怎么把英雄声音加到视频里去 什么音乐播放器能显示你唱歌的声调,可以自我调整 4人共同购买商铺,至今房产证上只有一人名字,急!! WIN7右下方一直显示系统正在做最后设置请稍后应该怎么消除这个提示 阜南县乐享优鲜生活超市有限公司怎么样? 杭州有什么值得逛的地方吗?买特产啊小吃什么的 还有什么非常繁华的地方... 阜南和家乐超市投诉电话是多少? Photoshop轻松绘制制作ipad平板电脑 求一篇观察习作(日记也可以,但最好不要)。 从西安到汉中镇巴回来后个人电子码变色吗? 我家是西安长安区人参加新农合,现在汉中上大学,参不 谈了9年的女朋友一直不愿意结婚一直耗着? 交往了第九年的男朋友,结婚时间一拖再拖,感觉没有安全感怎么办? 谈了九年恋爱的男朋友不上进也不想结婚,你会放手吗 恋爱九年 男朋友不肯跟我结婚怎么办 我是西安人,要到汉中上学,本地的手机号该怎么处理, 一码通核酸结果和核酸证明同等效力吗?