/
haseew
/
Lab_2
Обзор
Документация
Войти
/
haseew
/
Lab_2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Table.cpp
59 строк
2 KB
haseew
create: Bell.cpp, Bell.h, CMakeLists.txt, compleks.cpp, compleks.h, OddEvenSeparator.cpp, OddEvenSeparator.h, Stock.cpp, Stock.h, Table.cpp, Table.h, main.cpp, otchet_lab2.doc
04 мар 2026, 19:20
Верифицирован
04 мар 2026, 19:20
e5db715
Код
Авторство
О чём код?
#include "Table.h" #include <iostream> // Реализация конструктора Table::Table(int rows, int cols) { rows_count = rows; cols_count = cols; // Инициализируем двумерный вектор размером rows х cols и заполняем его нулями grid.assign(rows, std::vector<int>(cols, 0)); } // Реализация чтения из ячейки // (По условию индексы всегда корректны, поэтому дополнительные проверки не делаем) int Table::get_value(int row, int col) const { return grid[row][col]; } // Реализация записи в ячейку void Table::set_value(int row, int col, int value) { grid[row][col] = value; } // Получить количество строк int Table::n_rows() const { return rows_count; } // Получить количество столбцов int Table::n_cols() const { return cols_count; } // Вывод таблицы на экран void Table::print() const { for (int i = 0; i < rows_count; ++i) { for (int j = 0; j < cols_count; ++j) { std::cout << grid[i][j] << "\t"; // Знак табуляции для красивых отступов } std::cout << "\n"; } } // Подсчет среднего арифметического double Table::average() const { // Защита от деления на ноль, если таблица пустая if (rows_count == 0 || cols_count == 0) { return 0.0; } double sum = 0.0; for (int i = 0; i < rows_count; ++i) { for (int j = 0; j < cols_count; ++j) { sum += grid[i][j]; } } // Сумма делится на общее количество элементов return sum / (rows_count * cols_count); }