조건
틀린 입력이 없다고 가정
#include <iostream>
using namespace std;
void zero_turn(int ttt[][3]){
cout << "0의 차례입니다." << endl;
}
void one_turn(int ttt[][3]){
cout << "1의 차례입니다." << endl;
}
void status(int ttt[][3]){
for (int i = 0 ; i < 3;i++){
for(int j = 0 ; j < 3; j++){
cout << ttt[i][j] << " ";
}
cout << "\n";
}
}
int victory_confirm(int ttt[][3]){
if ( ttt[0][0] == ttt[0][1] && ttt[0][1] == ttt[0][2] ) return ttt[0][0];
else if ( ttt[1][0] == ttt[1][1] && ttt[1][1] == ttt[1][2] ) return ttt[1][0];
else if ( ttt[2][0] == ttt[2][1] && ttt[2][1] == ttt[2][2] ) return ttt[2][0];
else if ( ttt[0][0] == ttt[1][0] && ttt[1][0] == ttt[2][0] ) return ttt[0][0];
else if ( ttt[0][1] == ttt[1][1] && ttt[1][1] == ttt[1][2] ) return ttt[0][1];
else if ( ttt[0][2] == ttt[1][2] && ttt[1][2] == ttt[2][2] ) return ttt[0][2];
else if ( ttt[0][0] == ttt[1][1] && ttt[1][1] == ttt[2][2] ) return ttt[0][0];
else if ( ttt[0][2] == ttt[1][1] && ttt[1][1] == ttt[2][0] ) return ttt[0][2];
else return -1;
}
//0 012
//1 012
//2 012
int main() {
int ttt[3][3] = {{-1,-2,-3},{-4,-5,-6},{-7,-8,-9}};
int first_turn;
int x;
int y;
cout << "누가 먼저 시작할지 입력하세요." << endl;
cin >> first_turn;
status(ttt);
while(1){
if (first_turn % 2 == 0)
{
cout << "좌표를 입력하세요" << endl;
cin >> x >> y;
ttt[x][y] = 0;
}
else
{
cout << "좌표를 입력하세요" << endl;
cin >> x >> y;
ttt[x][y] = 1;
}
if (victory_confirm(ttt) == 0)
{
status(ttt);
cout << "0가 이겼습니다." << endl;
break;
}
if (victory_confirm(ttt) == 1)
{
status(ttt);
cout << "1이 이겼습니다." << endl;
break;
}
status(ttt);
first_turn++;
}
return 0;
}
'프로그래밍 공부 > Jumping into C++' 카테고리의 다른 글
[C++] 143p 배열 실습문제 1,2 (0) | 2020.11.11 |
---|---|
[C++] 소수인지 판별해 출력하는 프로그램 (0) | 2020.11.10 |
[C++] 값을 넘겨받아 가장 높은 값과 가장 낮은 값, 값들의 평균을 출력한 뒤에 한 행에 하나씩 출력하는 프로그램 (0) | 2020.05.02 |
[C++]1에서 1000까지의 수 중에서 소인수들의 합이 소수인 수를 찾아내는 프로그램 (0) | 2020.04.25 |
[C++] -999,999~999,999 사이의 수를 영어 텍스트로 바꾸기 (0) | 2020.04.25 |