Ответы на вопрос:
#include
#include
using namespace std;
const int SIZE = 4;
// Функція для виведення поля гри
void displayPuzzle(int puzzle[][SIZE]) {
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
cout << puzzle[i][j] << "\t";
}
cout << endl;
}
cout << endl;
}
// Функція для перевірки, чи вирішена гра
bool isSolved(int puzzle[][SIZE]) {
int count = 1;
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
if (puzzle[i][j] != count && count != SIZE * SIZE) {
return false;
}
count++;
}
}
return true;
}
// Функція для обміну значеннями двох клітинок
void swapCells(int puzzle[][SIZE], int row1, int col1, int row2, int col2) {
int temp = puzzle[row1][col1];
puzzle[row1][col1] = puzzle[row2][col2];
puzzle[row2][col2] = temp;
}
// Функція для перемішування п'ятнашок
void shufflePuzzle(int puzzle[][SIZE]) {
srand(time(NULL));
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
int randRow = rand() % SIZE;
int randCol = rand() % SIZE;
swapCells(puzzle, i, j, randRow, randCol);
}
}
}
// Функція для отримання введення користувача
void getUserMove(int& row, int& col) {
cout << "Введіть рядок та стовпчик клітинки, яку бажаєте перемістити (розділені пробілом): ";
cin >> row >> col;
}
// Головна функція гри
int main() {
int puzzle[SIZE][SIZE] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 0}
};
int moves = 0;
time_t startTime, endTime;
// Початок гри
cout << "Гра \"П'ятнашки\"!" << endl;
displayPuzzle(puzzle);
startTime = time(NULL);
// Перемішування п'ятнашок
shufflePuzzle(puzzle);
// Головний цикл гри
while (!isSolved(puzzle)) {
int row, col;
displayPuzzle(puzzle);
#include
using namespace std;
const int SIZE = 4;
// Функція для виведення поля гри
void displayPuzzle(int puzzle[][SIZE]) {
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
cout << puzzle[i][j] << "\t";
}
cout << endl;
}
cout << endl;
}
// Функція для перевірки, чи вирішена гра
bool isSolved(int puzzle[][SIZE]) {
int count = 1;
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
if (puzzle[i][j] != count && count != SIZE * SIZE) {
return false;
}
count++;
}
}
return true;
}
// Функція для обміну значеннями двох клітинок
void swapCells(int puzzle[][SIZE], int row1, int col1, int row2, int col2) {
int temp = puzzle[row1][col1];
puzzle[row1][col1] = puzzle[row2][col2];
puzzle[row2][col2] = temp;
}
// Функція для перемішування п'ятнашок
void shufflePuzzle(int puzzle[][SIZE]) {
srand(time(NULL));
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
int randRow = rand() % SIZE;
int randCol = rand() % SIZE;
swapCells(puzzle, i, j, randRow, randCol);
}
}
}
// Функція для отримання введення користувача
void getUserMove(int& row, int& col) {
cout << "Введіть рядок та стовпчик клітинки, яку бажаєте перемістити (розділені пробілом): ";
cin >> row >> col;
}
// Головна функція гри
int main() {
int puzzle[SIZE][SIZE] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 0}
};
int moves = 0;
time_t startTime, endTime;
// Початок гри
cout << "Гра \"П'ятнашки\"!" << endl;
displayPuzzle(puzzle);
startTime = time(NULL);
// Перемішування п'ятнашок
shufflePuzzle(puzzle);
// Головний цикл гри
while (!isSolved(puzzle)) {
int row, col;
displayPuzzle(puzzle);
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
sergiu2116.07.2022 02:24
-
72847003.06.2022 13:19
-
ДианкаСафонова12.02.2021 16:29
-
son9a02.11.2021 12:49
-
Azdes01.03.2022 20:32
-
LoviLopatu26.05.2022 08:33
-
Камелек01.08.2020 09:29
-
Karina1111111111518.01.2020 18:39
-
MikasaHasegava23.08.2021 10:05
-
vladivanko40018.11.2020 12:40
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.