[자료구조] 스텍을 이용한 maze 구현
- 최초 등록일
- 2013.01.17
- 최종 저작일
- 2013.01
- 1페이지/ 압축파일
- 가격 2,000원
소개글
자료구조시간에 구현한 maze 입니다.
c로 구현하였구요. 결과화면을 보시면 0이 지나갈 수 있는 길이고 1은 지나갈 수 없는 길입니다. 그리고 *은 지나간 길을 나타냅니다. 지나가는 path 또한 출력합니다.
목차
1. maze 소스코드
2. 결과화면
본문내용
#include<stdio.h>
#include<string.h>
#define ROW_SIZE 11
#define COL_SIZE 15
#define MAX_ROW 20
#define MAX_COL 20
#define MAX_STACK_SIZE 100
#define TRUE 1
#define FALSE 0
typedef struct{
int vert;
int horiz;
}offsets;
typedef struct{
int eRow;
int eCol;
int eDir;
}element;
element stack[MAX_STACK_SIZE];
element path[50]; //경로를 출력하기 위한 배열
int next = 1; //끝지점까지 경로배열의 index값
element now; //현재위치와 방향정보
int top = -1;
int result; //끝지점을 찾았는지 찾지 못했는지 표시하는 변수
offsets move[8] = { {-1,0}, {-1,1}, {0,1}, {1,1}, {1,0}, {1,-1}, {0,-1}, {-1,1}};
void searchpath(char maze[][MAX_COL], char mark[][MAX_COL]);
void add(int row, int col, int dir);
element pop();
int next_row, next_col; //다음 갈 위치
int main()
{
//테투리부분은 벽으로 가정
char maze[MAX_ROW][MAX_COL] =
{"*************1111",
"1S100011000111111",
"*************1111",
"10*************11",
"*************1001",
"1*************111",
"*************1011",
"10*************11",
"*************1011",
"*************0001",
"*************1101",
"*************1101",
"*************1111"};
char mark[MAX_ROW][MAX_COL];
int i,j;
for(i = 0; i<=ROW_SIZE+1;i++)
strcpy(mark[i],"000000000000000000");
searchpath(maze,mark);
.....
.....
참고 자료
없음
압축파일 내 파일목록
[DS1]실습8_maze.cpp
maze 결과화면.hwp