с++ срочно надо сделать
![](https://st.uroker.com/files/34e/34e7d8c129f22a7b1abe33e3db71dec7.png)
Ответы
#include <iostream>
using namespace std;
char board[3][3] = { { '_', '_', '_' }, { '_', '_', '_' }, { '_', '_', '_' } }; // ігрове поле
bool checkWin() {
for (int i = 0; i < 3; i++) {
if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][0] != '_')
return true;
if (board[0][i] == board[1][i] && board[1][i] == board[2][i] && board[0][i] != '_')
return true;
}
if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0] != '_')
return true;
if (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[0][2] != '_')
return true;
return false;
}
bool checkTie() {
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
if (board[i][j] == '_')
return false;
return true;
}
void showBoard() {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << board[i][j] << " ";
}
cout << endl;
}
}
int main() {
int x, y;
string turn = "Kristian"; // 'Kristian' починає гру
while (true) {
showBoard();
cout << "Гравець " << turn << ", введіть ваш хід (рядок та стовпець): ";
cin >> x >> y;
x--; y--; // індекси масиву починаються з 0
if (x < 0 || x > 2 || y < 0 || y > 2 || board[x][y] != '_') {
cout << "Недійсний хід, спробуйте ще раз." << endl;
continue;
}
board[x][y] = turn == "Kristian" ? 'X' : 'O';
if (checkWin()) {
showBoard();
cout << "Гравець " << turn << " виграє!" << endl;
break;
} else if (checkTie()) {
showBoard();
cout << "Нічия!" << endl;
break;
}
turn = turn == "Kristian" ? "SonyEnergy" : "Kristian"; // зміна ходу
}
return 0;
}