Выбор заполнения

This commit is contained in:
2024-12-03 15:22:40 +03:00
parent 7b1b2dd62b
commit 07d8a83ebe
3 changed files with 8 additions and 6 deletions

View File

@@ -1,12 +1,12 @@
#include "CellularAutomaton.h"
CellularAutomaton::CellularAutomaton(int width, int height) : m_fieldWidth(width), m_fieldHeight(height)
CellularAutomaton::CellularAutomaton(int width, int height, bool fillWithRandom) : m_fieldWidth(width), m_fieldHeight(height)
{
field.resize(m_fieldHeight, std::vector<int>(m_fieldWidth, 0));
fieldNextState.resize(m_fieldHeight, std::vector<int>(m_fieldWidth, 0));
//initializeRandom();
initializeManual();
if (fillWithRandom) initializeRandom();
else initializeManual();
}

View File

@@ -19,7 +19,7 @@ class CellularAutomaton
int getCellState(int x, int y) const;
int getNeighborhoodIndex(int x, int y) const;
public:
CellularAutomaton(int width, int height);
CellularAutomaton(int width, int height, bool fillWithRandom);
void update();
void displayField() const;

View File

@@ -40,9 +40,11 @@ int main()
cout << "Укажите количество итераций (min 1): ";
int iterationsCount = inputNumber(1);
clear();
cout << "Заполнить поле случайными значениями? (yes/no)\n";
bool fillWithRandom = userApprove();
CellularAutomaton ca(fieldWidth, fieldHeight);
CellularAutomaton ca(fieldWidth, fieldHeight, fillWithRandom);
clear();
std::cout << "\nИтерация 0:\n";
ca.displayField();