No older revisions available
No older revisions available
~cpp
#include <iostream>
using namespace std;
const int MAX = 20;
int main()
{
int board[MAX][MAX]={0,};
int x, y ;
int garo, sero;
char direction[MAX];
int total=0;
int count =0 ;
int bang =0;
cout << "판의 크기를 입력하세요(행, 열) : " ;
cin >> sero >> garo ;
cout << "처음 시작 위치를 입력하세요(행, 열) : " ;
cin >> y >> x ;
cout << "방향을 입력하세요(0은 북쪽방향, 시계 방향으로 1~7, 끝내기 999) : " ;
for(int D=0;D<MAX;D++)
{
cin >> direction[D];
count++;
if(direction[D-2]=='9' && direction[D-1]=='9' && direction[D]=='9')
{
count-=3 ;
break;
}
}
board[x][y]=1;
for(bang = 0 ; bang<count ; bang++)
{
switch(direction[bang])
{
case '0' : y--;
break;
case '1' : x++;
y--;
break;
case '2' : x++;
break;
case '3' : x++;
y++;
break;
case '4' : y++;
break;
case '5' : x--;
y++;
break;
case '6' : x--;
break;
case '7' : x--;
y--;
break;
}
if(x<0)
x=garo-1;
else if(x==garo)
x=0;
if(y<0)
y=sero-1;
else if(y==sero)
y=0;
board[x][y]++;
total++;
}
for(int i=0;i<sero;i++)
{
for(int j=0;j<garo;j++)
cout << board[j][i] << "\t" ;
cout << endl ;
}
cout << "총 이동 횟수는 " << total << "입니다. " << endl ;
return 0;
}