|
1 / 1 / 0
Регистрация: 09.12.2019
Сообщений: 14
|
|
Заменить статический массив на динамический17.05.2020, 15:49. Показов 448. Ответов 0
Метки нет (Все метки)
#include<iostream>
#include <ctime> using namespace std; void map_show(int map[3][3]) { // Вывод поля на экран for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { cout << map[j][i]; } cout << endl; } } bool game_over(int map[3][3]) { int c0 = 0;// счетчик int c1 = 0;// int c2 = 0;// int c3 = 0; int count1 = 0; // Проверка на заполнение единицами for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) // Вложенный цикл, так как массив 2 мерный { if (map[j][i] == 1)// Если очередной элемент массива = 1, то увеличь счетчик на единицу, для подсчета ко-ва единиц в строке c0++, count1++; if (map[i][j] == 1)// проверка заполнения в столбцах c1++, count1++; if (map[j][j] == 1)// проверка заполнения в диагонали c2++, count1++; if (map[2 - j][j] == 1)// проверка заполнения в диагонали (с верхнего правого угла в нижний левый) c3++, count1++; } if (c0 == 3 || c1 == 3 || c2 == 3 || c3 == 3)// Проверка, чему равен счетчик, если 3, обнаружена строка заполнена единицами { return true;//Игра завершилась break;// Завершения работы цикла } c0 = 0;// Сброс c1 = 0;// Сброс (Если не сбросить, то получим значение больше чем 3) c2 = 0;// Сброс c3 = 0; count1 = 0; } return false;//если не один cсчетчик не стал = 3 } bool game_over2(int map[3][3])//Функция. Если завершилась, то возвращает значение true { int c0 = 0;// Сброс int c1 = 0;// Сброс (Если не сбросить, то получим значение больше чем 3) int c2 = 0;// Сброс int c3 = 0; int count1 = 0; // Проверка на заполнение единицами for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) // Вложенный цикл, так как массив 2 мерный { if (map[j][i] == 2)// Если очередной элемент массива = 1, то увеличь счетчик на еденицу, для подсчета ко-ва едениц в строке c0++, count1++; if (map[i][j] == 2)// проверка заполнения в столбцах c1++, count1++; if (map[j][j] == 2)// проверка заполнения в диагонали c2++, count1++; if (map[2 - j][j] == 2)// проверка заполнения в диагонали (с верхнего правого угла в нижний левый) c3++, count1++; } if (c0 == 3 || c1 == 3 || c2 == 3 || c3 == 3)// Проверка, чему равен счетчик, если 3, обнаружена строка заполнена единицами { return true;//Игра завершилась break;// Завершения работы цикла } c0 = 0;// Сброс c1 = 0;// Сброс (Если не сбросить, то получим значение больше чем 3) c2 = 0;// Сброс c3 = 0; count1 = 0; } return false;//если не один cсчетчик не стал = 3 } //x y int map[3][3] = { 0 };// Двумерный массив 3 на 3, заполнен нулями (пустой) int x = 0, y = 0; int main() { srand(time(NULL));//Рандомная генерация для компьютера setlocale(LC_ALL, "Russian"); int count1 = 0; while (count1 != 9)// Бесконечный цикл { count1++; //Ввод координат cout << "Введите координаты:"; cin >> x >> y; // Координаты //Ввод координат // Заполнение map[x][y] = 1; //Заполнение ячейки массива // Заполнение map_show(map);//Вызов функции и передача двумерного массива if (game_over(map) == true) { cout << "Вы победили!" << endl; break; } cout << "Ход компьютера" << endl; do { x = rand() % 3;// Генерация случайно числа от 0 до 2 y = rand() % 3;// Генерация случайно числа от 0 до 2 } while (map[x][y] != 0); map[x][y] = 2;//Заполнение ячейки массива map_show(map); if (game_over2(map) == true) { cout << "Вы проиграли!" << endl; break; } } return 0; }
0
|
|
| 17.05.2020, 15:49 | |
|
Ответы с готовыми решениями:
0
Заменить в программе статический массив на динамический Можно ли заменить динамический массив на статический в реализации списка, и если да, то как?
|
| 17.05.2020, 15:49 | |
|
Помогаю со студенческими работами здесь
1
Переделать статический массив в динамический Переделать статический массив в динамический Переделать статический массив в динамический Автоматический, статический, динамический массив Двумерный массив (поменять статический массив на динамический) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|