Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 3

Программа "Жизнь"

14.12.2019, 15:57. Показов 4076. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Окажите любезность. может кто-то готовил подобное?

Программа «Жизнь», (описывающая жизнь микроорганизмов)
Введение
Жили-были микробы. Жили они долго и счастливо, но вот одна беда: после жизни всегда приходит
смерть. А микробы были разные: маленькие и не очень, старички и малютки – и у каждого из них
был свой жизненный уровень. Так, например, у только что родившегося микробчика он был равен 1,
а по мере его взросления жизненный уровень тоже рос (от 1 до 12). Когда же микроб достигал
последней ступени (т.е. 12), он, увы, погибал (теперь его жизненный уровень равен 0). Если же у
микроба уровень был равен 0, то он рождался заново и проходил опять жизнь бодрым шагом от 1 до
12.
Всего же микробов в мире, как вы знаете, очень много, а жизнь их интересна. Поэтому появилась
идея написать программу, описывающую их жизнь. Эта программа должна сообщать нам
количество микробов в каждом поколении и «нарисовать» их на поле (экране).
Программа должна работать следующим образом.
1. Сначала создаётся файл work.dat (жилище микробов) и файл work.out (описывающий текущее
поколение микробов, их развитие). Файл work.dat состоит из различных символов, среди
которых «обитают» микробы.
2. Необходимо создать массивы «настоящее» и «будущее». В массиве «настоящее» записывается
текущее поколение микробов, а в файл «будущее»- следующее. Массивы создаются размером
21х21.
3. Программа выдаёт пользователю на экран запрос: «Введите количество поколений». Именно
столько поколений программа будет описывать.
4. Теперь программа создаёт в файле work.out поколение под номером 1. Для этого программа
открывает и проверяет на наличие микробов файл (каждый символ, среди которых может
затеряться микроб). Если под символом скрывается микроб (например, символ «Х»), то в массив
«настоящее» записывается единица (1, т.е. микроб только что родился), а если не микроб – то
ноль (0, т. е. там никто не живёт). Теперь в массиве «настоящее» находиться поле из 1 и 0 (он
состоит из новорожденных младенцев и пустых мест). Все последующие поколения тоже
записываются в файл work.out. Файл work.dat закрывается, и работа теперь ведётся только с
файлом work.out.
5. Теперь описывается следующее поколение. Оно создаётся после проверки массива «настоящее».
Проверяются микробы и их соседи (результат записывается в массив «будущее»):
- если жизненный уровень микроба от 1 до 11 то:
94
95
96
97
--если соседей 2 или 3, то микроб продолжает жить и подрастает (т.е. его жизненный уровень
возрастает на 1),
--иначе микроб погибает(=0), т.к. он задыхается или умирает от скуки;
- если жизненный уровень микроба 0, то микроб рождается заново (т.е. его жизненный уровень
равен 1);
- если жизненный уровень микроба равен 12, то микроб погибает (от старости).
6. После проверки подсчитывается количество жизней данного поколения (т.е. сколько единиц).
Затем программа проверяет, есть ли кто «живой на поле» или все погибли (т.е. нули).
7. Теперь программа производит замену поколений: массив «будущее» становится «настоящим».
8. Программа продолжает работу с пункта 5 до тех пор, пока количество поколений (которые
описывает программа) не станет равным введенным пользователем в пункте 3 или пока не
погибнут все микробы (т.е. везде одни нули).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2019, 15:57
Ответы с готовыми решениями:

Программа «Жизнь»
Помогите пожалуйста! Я не сильно шарю. Введение Жили-были микробы. Жили они долго и счастливо, но вот одна беда: после жизни всегда...

Программа Жизнь
Вообщем... Что-то не могу сообразить с программой... Реализовать алгоритм игры «жизнь». Дано двумерное поле клеток, каждая из которых...

Игра жизнь
Помогите пожалуйста с решением. Код нужен на С++ «Жизнь» – компьютерная игра, придуманная английским математиком Джоном Конвеем (John...

2
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
14.12.2019, 18:50
elena_ilushuna, посмотрите Игра "жизнь". И там ещё несколько ссылок в разных постах.

Покопайтесь в разделе "Похожие темы" внизу страницы.
0
0 / 0 / 0
Регистрация: 28.10.2021
Сообщений: 10
13.11.2021, 01:03
Получилось?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2021, 01:03
Помогаю со студенческими работами здесь

Игра жизнь
Нужно написать игру "Жизнь" простым кодом. Только начал изучать c++

Игра Жизнь
Ну, правила игры таковы: - если клетка пустая но имеет ровно 3 соседа (вообще их 8), там появляется жизнь. - если клетка полная, но там...

Жизнь после С++
Доброго времени суток, уважаемые форумчани! Уже несколько дней не могу определиться, что учить после С++? С++ знаю достаточно неплохо,...

Игра Жизнь
Написал вот такую реализацию: #include "stdafx.h" #include "iostream" #include "clocale" using namespace std; int...

игра жизнь
содержимое life.cpp// Life.cpp: определяет точку входа для консольного приложения. // #include <iostream> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru