<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=RandomWalk%2F%EC%98%81%EB%8F%99</id>
	<title>RandomWalk/영동 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=RandomWalk%2F%EC%98%81%EB%8F%99"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;action=history"/>
	<updated>2026-05-14T16:36:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;diff=87588&amp;oldid=prev</id>
		<title>Maintenance script: Repair MoniWiki formatting after migration</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;diff=87588&amp;oldid=prev"/>
		<updated>2026-03-29T00:34:29Z</updated>

		<summary type="html">&lt;p&gt;Repair MoniWiki formatting after migration&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:34, 29 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l366&quot;&gt;Line 366:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 366:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  		return false;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  		return false;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== RandomWalk.cpp (Main함수) ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;RandomWalk&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;.cpp (Main함수) ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #include&amp;amp;lt;iostream&amp;amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #include&amp;amp;lt;iostream&amp;amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #include&amp;quot;Board.h&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #include&amp;quot;Board.h&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;diff=84876&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0003 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;diff=84876&amp;oldid=prev"/>
		<updated>2026-03-27T00:29:07Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0003 pages from live compare&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;amp;diff=84876&amp;amp;oldid=38350&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;diff=38350&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:27, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=RandomWalk/%EC%98%81%EB%8F%99&amp;diff=38350&amp;oldid=prev"/>
		<updated>2021-02-07T05:27:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
== 1학년 데블스캠프 때 짠 것 ==&lt;br /&gt;
 //랜덤 워크&lt;br /&gt;
 #include&amp;amp;lt;iostream.h&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;time.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	int a, b;&lt;br /&gt;
 	int way;//이동 방향&lt;br /&gt;
 	int count=1;//이동 횟수&lt;br /&gt;
 	int not_go=1;//아직 가지 않은 곳을 셀 때 쓰는 수 &lt;br /&gt;
 	int input;&lt;br /&gt;
 	//숫자 입력받고 동적할당&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;Random Walk&amp;quot;&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;숫자를 입력하시오: &amp;quot;&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	cin&amp;amp;gt;&amp;amp;gt;input;&lt;br /&gt;
 	int **square=new int *[input];&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;input;i++)&lt;br /&gt;
 		square[i]=new int [input];&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;input;i++){&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;input;j++)&lt;br /&gt;
 			square[i][j]=0;}&lt;br /&gt;
 &lt;br /&gt;
 	//시작점 결정&lt;br /&gt;
 	srand((unsigned)time(NULL));&lt;br /&gt;
 	a=rand()%input;&lt;br /&gt;
 	srand((unsigned)time(NULL));&lt;br /&gt;
 	b=rand()%input;&lt;br /&gt;
 	square[a][b]=1;&lt;br /&gt;
 &lt;br /&gt;
 	//8방향 랜덤 이동에 대한 코드&lt;br /&gt;
 	do{&lt;br /&gt;
 		way=rand()%8+1;&lt;br /&gt;
 		switch(way)&lt;br /&gt;
 		{&lt;br /&gt;
 			case 1:  //북서&lt;br /&gt;
 				if(a-1!=-1 &amp;amp;amp;&amp;amp;amp; b-1!=-1) {&lt;br /&gt;
 					if(square[a-1][b-1] == 0)&lt;br /&gt;
 						not_go++;&lt;br /&gt;
 					a--;&lt;br /&gt;
 					b--;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 2:  //북&lt;br /&gt;
 				if(a-1!=-1){&lt;br /&gt;
 					if(square[a-1][b] == 0)&lt;br /&gt;
 						not_go++;	&lt;br /&gt;
 					a--;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 3:  //북동&lt;br /&gt;
 				if(a-1!=-1 &amp;amp;amp;&amp;amp;amp; b+1!=input){&lt;br /&gt;
 					if(square[a-1][b+1] == 0)&lt;br /&gt;
 						not_go++;&lt;br /&gt;
 					a--;&lt;br /&gt;
 					b++;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 4:  //서&lt;br /&gt;
 				if(b-1!=-1){&lt;br /&gt;
 					if(square[a][b-1] == 0)&lt;br /&gt;
 						not_go++;&lt;br /&gt;
 					b--;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 5:  //동&lt;br /&gt;
 				if(b+1!=input){&lt;br /&gt;
 					if(square[a][b+1] == 0)&lt;br /&gt;
 						not_go++;	&lt;br /&gt;
 					b++;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 6:  //남서&lt;br /&gt;
 				if(b-1!=-1 &amp;amp;amp;&amp;amp;amp; a+1!=input){&lt;br /&gt;
 					if(square[a+1][b-1] == 0)&lt;br /&gt;
 						not_go++;&lt;br /&gt;
 					a++;&lt;br /&gt;
 					b--;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 7:  //남&lt;br /&gt;
 				if(a+1!=input){&lt;br /&gt;
 					if(square[a+1][b] == 0)&lt;br /&gt;
 						not_go++;&lt;br /&gt;
 					a++;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 			case 8:  //남동 &lt;br /&gt;
 				if(a+1!=input &amp;amp;amp;&amp;amp;amp; b+1!=input){&lt;br /&gt;
 					if(square[a+1][b+1] == 0)&lt;br /&gt;
 						not_go++;&lt;br /&gt;
 					a++;&lt;br /&gt;
 					b++;&lt;br /&gt;
 					square[a][b]++;&lt;br /&gt;
 				}&lt;br /&gt;
 				else&lt;br /&gt;
 					continue;&lt;br /&gt;
 &lt;br /&gt;
 				count++;&lt;br /&gt;
 				break;&lt;br /&gt;
 	}&lt;br /&gt;
 	}while(not_go &amp;amp;lt; input * input);&lt;br /&gt;
 &lt;br /&gt;
 	//각 장소의 이동 횟수 출력.&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;input;i++){&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;input;j++)&lt;br /&gt;
 			cout&amp;amp;lt;&amp;amp;lt;square[i][j]&amp;amp;lt;&amp;amp;lt;&amp;quot;\t&amp;quot;;&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;&amp;quot;\n&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	&lt;br /&gt;
 	//이동 횟수 출력	&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;count&amp;amp;lt;&amp;amp;lt;&amp;quot;회 이동\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	//동적할당한 것 지움&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;input;i++)&lt;br /&gt;
 		delete[] square[i];&lt;br /&gt;
 	delete [] square;&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
== 1학년 2학기 때 자바로 짠 것 ==&lt;br /&gt;
[[JavaStudy2002/영동-2주차]] &amp;lt;-지금보니 상당히 허접하네요.&lt;br /&gt;
== 최근에 짠 것(2003/08/07) ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt; &lt;br /&gt;
 #include&amp;amp;lt;ctime&amp;amp;gt; &lt;br /&gt;
 using namespace std; &lt;br /&gt;
  &lt;br /&gt;
 const int MAX_X=5; &lt;br /&gt;
 const int MAX_Y=5; &lt;br /&gt;
 const int DIRECTION=8; &lt;br /&gt;
 const int MOVE_X[DIRECTION]={0, 1, 1, 1, 0, -1, -1, -1}; &lt;br /&gt;
 const int MOVE_Y[DIRECTION]={-1, -1, 0, 1, 1, 1, 0, -1}; &lt;br /&gt;
  &lt;br /&gt;
 struct Bug &lt;br /&gt;
 { &lt;br /&gt;
         int x; &lt;br /&gt;
         int y; &lt;br /&gt;
         int way; &lt;br /&gt;
 }; &lt;br /&gt;
  &lt;br /&gt;
 void showBoard(int a_board[][MAX_X], int length_x, int length_y); &lt;br /&gt;
 void move(Bug &amp;amp;amp; a_bug); &lt;br /&gt;
 void askLocationOfBug(Bug &amp;amp;amp; a_bug); &lt;br /&gt;
 void increaseEndCount(int &amp;amp;amp; a_count, Bug &amp;amp;amp; a_bug, int a_board[][MAX_X]); &lt;br /&gt;
 void makeFootprint(Bug &amp;amp;amp; a_bug, int a_board[][MAX_X]); &lt;br /&gt;
 bool isEnd(int a_count); &lt;br /&gt;
 bool isInBoard(Bug &amp;amp;amp; a_bug0); &lt;br /&gt;
  &lt;br /&gt;
 void main() &lt;br /&gt;
 { &lt;br /&gt;
         int board[MAX_Y][MAX_X]={{0,}}; // 판 &lt;br /&gt;
         int count=0; // 종료 조건 &lt;br /&gt;
         Bug bug; // 바퀴벌레의 위치 &lt;br /&gt;
  &lt;br /&gt;
         askLocationOfBug(bug); &lt;br /&gt;
         makeFootprint(bug, board); &lt;br /&gt;
         //시작점에서 발자국을 찍고 시작. &lt;br /&gt;
  &lt;br /&gt;
         do{              &lt;br /&gt;
                 move(bug); &lt;br /&gt;
                 increaseEndCount(count, bug, board); &lt;br /&gt;
                 makeFootprint(bug, board); &lt;br /&gt;
         }while(isEnd(count)); &lt;br /&gt;
  &lt;br /&gt;
         showBoard(board, MAX_X, MAX_Y);  &lt;br /&gt;
 } &lt;br /&gt;
  &lt;br /&gt;
 void showBoard(int a_board[][MAX_X], int length_x, int length_y) &lt;br /&gt;
 { &lt;br /&gt;
         for(int i=0;i&amp;amp;lt;length_y;i++) &lt;br /&gt;
         { &lt;br /&gt;
                 for(int j=0;j&amp;amp;lt;length_x;j++) &lt;br /&gt;
                         cout&amp;amp;lt;&amp;amp;lt;a_board[i][j]&amp;amp;lt;&amp;amp;lt;&amp;quot;\t&amp;quot;; &lt;br /&gt;
                 cout&amp;amp;lt;&amp;amp;lt;endl; &lt;br /&gt;
         } &lt;br /&gt;
         cout&amp;amp;lt;&amp;amp;lt;endl; &lt;br /&gt;
 } &lt;br /&gt;
 void move(Bug &amp;amp;amp; a_bug) &lt;br /&gt;
 { &lt;br /&gt;
         a_bug.way=rand()%DIRECTION; &lt;br /&gt;
  &lt;br /&gt;
         if(isInBoard(a_bug)) &lt;br /&gt;
         { &lt;br /&gt;
                 a_bug.x=a_bug.x+MOVE_X[a_bug.way]; &lt;br /&gt;
                 a_bug.y=a_bug.y+MOVE_Y[a_bug.way]; &lt;br /&gt;
         } &lt;br /&gt;
 } &lt;br /&gt;
 void increaseEndCount(int &amp;amp;amp; a_count, Bug &amp;amp;amp; a_bug, int a_board[][MAX_X]) &lt;br /&gt;
 { &lt;br /&gt;
         if(a_board[a_bug.y][a_bug.x]==0) &lt;br /&gt;
                 a_count++; &lt;br /&gt;
 } &lt;br /&gt;
 bool isInBoard(Bug &amp;amp;amp; a_bug0) &lt;br /&gt;
 { &lt;br /&gt;
         if(a_bug0.x+MOVE_X[a_bug0.way]&amp;amp;gt;-1 &amp;amp;amp;&amp;amp;amp; a_bug0.x+MOVE_X[a_bug0.way]&amp;amp;lt;5 &amp;amp;amp;&amp;amp;amp; a_bug0.y+MOVE_Y[a_bug0.way]&amp;amp;gt;-1 &amp;amp;amp;&amp;amp;amp; a_bug0.y+MOVE_Y[a_bug0.way]&amp;amp;lt;5) &lt;br /&gt;
                 return true; &lt;br /&gt;
         else &lt;br /&gt;
                 return false; &lt;br /&gt;
 } &lt;br /&gt;
 void askLocationOfBug(Bug &amp;amp;amp; a_bug) &lt;br /&gt;
 { &lt;br /&gt;
         cout&amp;amp;lt;&amp;amp;lt;&amp;quot;바퀴벌레의 x좌표와 y좌표를 입력하시오. &amp;amp;lt;x y&amp;amp;gt;&amp;quot;; &lt;br /&gt;
         cin&amp;amp;gt;&amp;amp;gt;a_bug.x; &lt;br /&gt;
         cin&amp;amp;gt;&amp;amp;gt;a_bug.y; &lt;br /&gt;
 		srand((unsigned)time(NULL)); &lt;br /&gt;
 } &lt;br /&gt;
 bool isEnd(int a_count) &lt;br /&gt;
 { &lt;br /&gt;
         if(a_count&amp;amp;lt;(MAX_X*MAX_Y-1)) &lt;br /&gt;
                 return true; &lt;br /&gt;
         else &lt;br /&gt;
                 return false; &lt;br /&gt;
 } &lt;br /&gt;
 void makeFootprint(Bug &amp;amp;amp; a_bug, int a_board[][MAX_X]) &lt;br /&gt;
 { &lt;br /&gt;
         a_board[a_bug.y][a_bug.x]++; &lt;br /&gt;
 }&lt;br /&gt;
== 최근에 객체지향으로 짠 것(2003/08/20) ==&lt;br /&gt;
=== Board.h ===&lt;br /&gt;
 const int MAX_X=5;&lt;br /&gt;
 const int MAX_Y=5;&lt;br /&gt;
 class Board&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	int board[MAX_X][MAX_Y];&lt;br /&gt;
 	int count;&lt;br /&gt;
 public:&lt;br /&gt;
 	Board();&lt;br /&gt;
 	void showBoard();&lt;br /&gt;
 	void makeFootprint(int a_x, int a_y);&lt;br /&gt;
 	void increaseEndCount(int a_x, int a_y);&lt;br /&gt;
 	int returnCount(){return count;}&lt;br /&gt;
 };&lt;br /&gt;
=== Bug.h ===&lt;br /&gt;
 const int DIRECTION=8;&lt;br /&gt;
 const int MOVE_X[DIRECTION]={0, 1, 1, 1, 0, -1, -1, -1};  &lt;br /&gt;
 const int MOVE_Y[DIRECTION]={-1, -1, 0, 1, 1, 1, 0, -1}; &lt;br /&gt;
 class Bug&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	int x;&lt;br /&gt;
 	int y;&lt;br /&gt;
 	int way;&lt;br /&gt;
 public:&lt;br /&gt;
 	Bug(){}&lt;br /&gt;
 	Bug(int a_x, int a_y);&lt;br /&gt;
 	int returnX(){return x;}&lt;br /&gt;
 	int returnY(){return y;}&lt;br /&gt;
 	void move();&lt;br /&gt;
 	void askLocationOfBug();&lt;br /&gt;
 	bool isInBoard();&lt;br /&gt;
 	bool isEnd(int a_count);&lt;br /&gt;
 };&lt;br /&gt;
=== Board.cpp ===&lt;br /&gt;
 #include&amp;amp;lt;iostream.h&amp;amp;gt;&lt;br /&gt;
 #include&amp;quot;Board.h&amp;quot;&lt;br /&gt;
 Board::Board()&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;5;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;5;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			board[i][j]=0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	count=0;&lt;br /&gt;
 }&lt;br /&gt;
 void Board::showBoard()&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;5;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;5;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			cout&amp;amp;lt;&amp;amp;lt;board[i][j]&amp;amp;lt;&amp;amp;lt;&amp;quot;\t&amp;quot;;&lt;br /&gt;
 		}&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 void Board::makeFootprint(int a_x, int a_y)&lt;br /&gt;
 {&lt;br /&gt;
 	board[a_y][a_x]++;&lt;br /&gt;
 }&lt;br /&gt;
 void Board::increaseEndCount(int a_x, int a_y)&lt;br /&gt;
 {&lt;br /&gt;
 	if(board[a_y][a_x]==0)  &lt;br /&gt;
 		count++;  &lt;br /&gt;
 }&lt;br /&gt;
=== Bug.cpp ===&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;ctime&amp;amp;gt;&lt;br /&gt;
 #include&amp;quot;Bug.h&amp;quot;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 const int MAX_X=5;&lt;br /&gt;
 const int MAX_Y=5; &lt;br /&gt;
 Bug::Bug(int a_x, int a_y)&lt;br /&gt;
 {&lt;br /&gt;
 	x=a_x;&lt;br /&gt;
 	y=a_y;&lt;br /&gt;
 }&lt;br /&gt;
 void Bug::askLocationOfBug()&lt;br /&gt;
 {&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;바퀴벌레의 초기 위치를 입력하세요. &amp;amp;lt;x, y&amp;amp;gt;&amp;quot;&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	cin&amp;amp;gt;&amp;amp;gt;x&amp;amp;gt;&amp;amp;gt;y;&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;바퀴벌레의 초기 위치는 &amp;quot;&amp;amp;lt;&amp;amp;lt;x&amp;amp;lt;&amp;amp;lt;&amp;quot;, &amp;quot;&amp;amp;lt;&amp;amp;lt;y&amp;amp;lt;&amp;amp;lt;&amp;quot;입니다.\n&amp;quot;;&lt;br /&gt;
 	srand((unsigned)time(NULL));&lt;br /&gt;
 }&lt;br /&gt;
 bool Bug::isInBoard()&lt;br /&gt;
 {&lt;br /&gt;
 	if(x+MOVE_X[way]&amp;amp;gt;-1 &amp;amp;amp;&amp;amp;amp; x+MOVE_X[way]&amp;amp;lt;MAX_X &amp;amp;amp;&amp;amp;amp; y+MOVE_Y[way]&amp;amp;gt;-1 &amp;amp;amp;&amp;amp;amp; y+MOVE_Y[way]&amp;amp;lt;MAX_Y)&lt;br /&gt;
 		return true;&lt;br /&gt;
 	else&lt;br /&gt;
 		return false;&lt;br /&gt;
 }&lt;br /&gt;
 void Bug::move()&lt;br /&gt;
 {&lt;br /&gt;
 	way=rand()%DIRECTION;&lt;br /&gt;
 	if(isInBoard())  &lt;br /&gt;
 	{  &lt;br /&gt;
 		x=x+MOVE_X[way];  &lt;br /&gt;
 		y=y+MOVE_Y[way];  &lt;br /&gt;
 	} &lt;br /&gt;
 }&lt;br /&gt;
 bool Bug::isEnd(int a_count)&lt;br /&gt;
 {&lt;br /&gt;
 	if(a_count&amp;amp;lt;(MAX_X*MAX_Y-1))  &lt;br /&gt;
 		return true;  &lt;br /&gt;
 	else  &lt;br /&gt;
 		return false;  &lt;br /&gt;
 }&lt;br /&gt;
=== RandomWalk.cpp (Main함수) ===&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;quot;Board.h&amp;quot;&lt;br /&gt;
 #include&amp;quot;Bug.h&amp;quot;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	Board board;&lt;br /&gt;
 	Bug bug;&lt;br /&gt;
 	bug.askLocationOfBug();&lt;br /&gt;
 	board.makeFootprint(bug.returnX(), bug.returnY());&lt;br /&gt;
 &lt;br /&gt;
 	do{&lt;br /&gt;
 		bug.move();&lt;br /&gt;
 		board.increaseEndCount(bug.returnX(), bug.returnY());&lt;br /&gt;
 		board.makeFootprint(bug.returnX(), bug.returnY());	&lt;br /&gt;
 	}while(bug.isEnd(board.returnCount()));&lt;br /&gt;
 	&lt;br /&gt;
 	board.showBoard();&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
작성자: [[Yggdrasil]]&lt;br /&gt;
----&lt;br /&gt;
[[RandomWalk]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>