diff --git a/lab1/CellularAutomaton.cpp b/lab1/CellularAutomaton.cpp index 0a44b2b..6c6b53a 100644 --- a/lab1/CellularAutomaton.cpp +++ b/lab1/CellularAutomaton.cpp @@ -101,4 +101,20 @@ void CellularAutomaton::displayField() const } std::cout << '\n'; } +} + +int CellularAutomaton::countLiveCells() const +{ + int liveCount = 0; + for (const auto& row : m_field) + { + for (const auto& cell : row) + { + if (cell == 1) + { + ++liveCount; + } + } + } + return liveCount; } \ No newline at end of file diff --git a/lab1/CellularAutomaton.h b/lab1/CellularAutomaton.h index b1bbf30..85063da 100644 --- a/lab1/CellularAutomaton.h +++ b/lab1/CellularAutomaton.h @@ -29,5 +29,7 @@ public: void update(); void displayField() const; + + int countLiveCells() const; }; diff --git a/lab1/lab1.cpp b/lab1/lab1.cpp index c00208f..5475b34 100644 --- a/lab1/lab1.cpp +++ b/lab1/lab1.cpp @@ -51,12 +51,14 @@ int main() cout << "\nИтерация 0:\n"; ca.displayField(); + //cout << ca.countLiveCells() << "\n"; for (int i = 0; i < iterationsCount; ++i) { cout << "\nИтерация " << i + 1 << ":\n"; ca.update(); ca.displayField(); + //cout << ca.countLiveCells() << "\n"; } cout << "\nНажмите на enter, чтобы продолжить...";