解答C++作业01

原创 2004年10月26日 10:40:00

#include<iostream>
#include<fstream>
#include<string>
#include<conio.h>
#include<cstdlib>
using namespace std;

int find(char ch,int &x,int &y,string openMaze,int& width )
{ string str;
 ifstream fin(openMaze.c_str());
 if(!fin)
  {cout<<"can't open"<<endl;
  return 0;}
 while(getline(fin,str))
 { x++;
  y=str.find(ch,0);
  if(y!=string::npos)
  break;
 }
 width=str.size();
 fin.close();
 x--;
 return 1;
}//find 'e' and return width

int loadMap(string* load,string openMaze,int & height)
{ string str;
 ifstream fin(openMaze.c_str());
 if(!fin)
  {cout<<"can't open"<<endl;
  return 0;}
 while(getline(fin,str))
 {
  load[height]=str;
   height++;
 }
 
 fin.close();
 return 1;
}//load the map into a string pointer and return height
//method:
//1.R  2.D  3.L  4.U
//o------>
//|      |
//|<-----V
bool findWay(int x,int y,string* load)
{
 load[x][y]='O';
 
 if (load[x+1][y]=='x') return true;
 if (load[x-1][y]=='x') return true;
 if (load[x][y+1]=='x') return true;
 if (load[x][y-1]=='x') return true;
 if (load[x][y+1]=='.')
 {
  if(findWay(x,y+1,load)==true)
   return true;
 }
 if (load[x+1][y]=='.')
 {
  if(findWay(x+1,y,load)==true)
  return true;
 }
  if (load[x][y-1]=='.')
 {
  if(findWay(x,y-1,load)==true)
  return true;
 }
 if (load[x-1][y]=='.')
 {
   if(findWay(x-1,y,load)==true)
  return true;
 }
 
  load[x][y]='.';
  return false;
}//use square to sign where it has been ,if can't go through,turn it back to '.'

int main()

 int i,width=0,height=0;
 int x=0,y=0,x1=0,y1=0;
 //int director;
 string openMaze;
 cout<<"which map do you like to play?maze1.txt or maze2.txt?"<<endl;
 cin>>openMaze;
 cout<<endl;
 
 if(find('e',x,y,openMaze,width))
 {cout<<"can find entrance  ";
 cout<<"x: "<<x<<" y: "<<y<<"!"<<endl;}
 else {cout<<"can't find entrance !"<<endl;
  return 1;
 }
 if(find('x',x1,y1,openMaze,width))
 {cout<<"can find exit  ";
 cout<<"x: "<<x1<<" y: "<<y1<<"!"<<endl;}
 else {cout<<"can't find exit !"<<endl;
  return 1;
 }
  
    string* load=new string[width];//create the string pointer to load map

 loadMap(load,openMaze,height);
 cout<<"the map is :"<<height<<" *  "<<width<<" type."<<endl;
 load[x][y]='/004';load[x1][y1]='/004';
 for (i=0;i<=height;i++)
  cout<<load[i]<<endl;

 load[x1][y1]='x';
 if (findWay(x,y,load))
 { 
  cout<<"can find the way!"<<endl;
  for (i=0;i<=height;i++)
   cout<<load[i]<<endl;
  
 }
 else cout<<"can't find,sorry!"<<endl;
 
 delete [] load;
 return 0;
}

解答C++作业03

#include#include#include#include#includeusing namespace std;const int SECRET_SIZE=10; // size of sec...
  • skyinter
  • skyinter
  • 2004年10月26日 12:10
  • 612

解答C++作业02

//harry zou #include#include#include#includeusing namespace std;int i=0;char ch;const int w=8;int co...
  • skyinter
  • skyinter
  • 2004年10月26日 10:52
  • 553

解答C++作业04

//ChkgAcct.h//ChkgAcct classes#ifndef CHKGACCT_H#define CHKGACCT_Hclass ChkgAcct {  public:    ChkgA...
  • skyinter
  • skyinter
  • 2004年10月26日 12:27
  • 665

C++作业01

Program #2 - Maze TraversalMaze Traversal:You will be given two files that contain ASCII mazes, and ...
  • skyinter
  • skyinter
  • 2004年10月26日 10:32
  • 950

Deep Learning课程作业中深度网络的习题备忘

Deep Learning的在线学习资料一直进展比较慢,开始的时候还可以,只有一层的训练,简单的BP算法求导然后使用L-gfbs就基本可以求出来解了。但是真正到了后面的深度网络的时候才算是真正的是De...
  • silence1214
  • silence1214
  • 2013年09月11日 11:14
  • 1326

機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 课后习题解答

大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四的习题解答。笔者在做这些题目时遇到很多困难,当我...
  • a1015553840
  • a1015553840
  • 2016年04月17日 16:05
  • 4773

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答。笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老...
  • a1015553840
  • a1015553840
  • 2016年04月09日 10:22
  • 3647

Coursera_Stanford_ML_ex1 作业记录

Coursera_Stanford_Machine learing week2
  • u010003526
  • u010003526
  • 2015年09月19日 13:09
  • 825

帮同学写的C++大作业,图书管理系统

#include #include #include #include #include #include #include #include #include #include #define de...
  • zhoujinyu0713
  • zhoujinyu0713
  • 2012年12月12日 23:24
  • 3005

算法训练 C++ CH08 01

算法训练 C++ CH08 01 时间限制:1.0s 内存限制:256.0MB问题描述   已知一个有理数类Zrf_Ratio,实现如下的操作符重载形式:   friend std::os...
  • ldsh304
  • ldsh304
  • 2016年12月31日 14:58
  • 368
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解答C++作业01
举报原因:
原因补充:

(最多只允许输入30个字)