Ответы на вопрос:
Если "0" и "1" всего 2, то так: 00, 01, 10, 11 если должно быть два "0" и две "1", то так: 0011, 0101, 0110, 1001, 1010, 1100
Visual studio 2015 код visual c++, win32, консоль: #include "stdafx.h" #include < iostream> #include < conio.h> #include < random> #include < time.h> #include < windows.h> using namespace std; char table[3][3]; char nam1[30]; char nam2[30]; bool xod; bool input(int n) { if (n< 1 || n> 9) return false; int i, j; if (n % 3 == 0) { i = n / 3 - 1; j = 2; } else { j = n % 3 - 1; i = n / 3; } if (table[i][j] == 'o' || table[i][j] == 'x') return false; if (xod) { table[i][j] = 'x'; xod = false; } else { table[i][j] = 'o'; xod = true; } return true; } bool win() { for (int i(0); i < 3; i++) { if (table[i][0] == table[i][1] & & table[i][1] == table[i][2]) return true; } for (int i(0); i < 3; i++) { if (table[0][i] == table[1][i] & & table[1][i] == table[2][i]) return true; } if (table[0][0] == table[1][1] & & table[1][1] == table[2][2] || table[0][2] == table[1][1] & & table[1][1] == table[2][0]) return true; return false; } void перерисовкаигровогополя() { system("cls"); if (xod) cout < < "\tходит x " < < nam1 < < " : \n\n"; else cout < < "\tходит 0 " < < nam2 < < " : \n\n"; for (int i(2); i > = 0; { cout < < "\t"; for (int j(0); j < 3; j++) { cout < < "| " < < table[i][j] < < ' '; } cout < < '|'; cout < < endl; } } int main() { setlocale(lc_all, "rus"); do { system("cls"); for (int i(0); i < 3; i++) { for (int j(0); j < 3; j++) { table[i][j] = char('1' + i * 3 + j); } } cout < < "\t\t*** крестики нолики ***\n\n"; cout < < "\tправила: \n"; cout < < "\tиграют два игрока на поле 3х3\n"; cout < < "\tпобеждает тот кто составит выигрышную комбинацию\n"; cout < < "\n\tдля хода нажмите на цифру ячейки поля\n"; cout < < "\tвведите имя 1-го. игрока за x: ", cin.getline(nam1, 30); cout < < "\tвведите имя 2-го. игрока за 0: ", cin.getline(nam2, 30); int i = 0; bool l = false, result; do { перерисовкаигровогополя(); if (l) cout < < "вы вели неверные данные! "; l = ! () - '0')); result = win(); } while (! result & & i < 9); //system("cls"); перерисовкаигровогополя(); if (result) { if (xod) cout < < "\n\n\tпобедил 0 " < < nam2 < < endl; else cout < < "\n\n\tпобедил x " < < nam1 < < endl; } else cout < < " \n"; cout < < "\tвыберите действие: " < < "\n\n"; cout < < "\t1 - пройти повторно " < < "\n\n"; cout < < "\t( нажмите: 0 для завершения программы. )" < < "\n"; } while (_getch() == '1'); cout < < "\n\n\tпроверка закончена " < < endl < < endl; _getch(); }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
OrAcUl22.01.2022 07:28
-
Папарапдрд16.02.2023 05:31
-
Juliana241416.10.2020 12:09
-
ДжонниМультяшка29.08.2021 20:47
-
Пирожочек0706.05.2023 09:24
-
fedotovanatolij28.09.2021 07:54
-
Коля12Коля10.04.2020 20:08
-
pepeon1104.06.2023 18:42
-
Ника700211.04.2020 18:10
-
ленок20901.08.2020 01:58
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.