C/C++

С++ создать массив из элементов каждый из которых равен среднеарефметическому четных элементов каждого столбца

Здравствуйте, дана матрица 5 на 5, необходимо создать массив из элементов каждый из которых равен среднеарефметическому четных элементов в каждом столбце с++
 #include  
#include
#include

using namespace std;

int main() {
constexpr size_t n = 5;
int matrix[n][n]{};
uniform_int_distribution uid(10, 99);
mt19937 gen{ random_device()() };
constexpr streamsize w = 8;
for (auto& row : matrix) {
for (auto& x : row) {
x = uid(gen);
cout
Сергей Рахматулин
Сергей Рахматулин
80 442
Лучший ответ
 #include  

const int ROWS = 5;
const int COLS = 5;

int main() {
int matrix[ROWS][COLS] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}
};

int columnSums[COLS] = {0}; // Массив для хранения сумм элементов в каждом столбце
int columnCounts[COLS] = {0}; // Массив для хранения количества элементов в каждом столбце

// Вычисляем суммы элементов и подсчитываем количество элементов в каждом столбце
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (matrix[i][j] % 2 == 0) { // Проверяем, является ли элемент четным
columnSums[j] += matrix[i][j];
columnCounts[j]++;
}
}
}

float columnAverages[COLS] = {0}; // Массив для хранения средних арифметических четных элементов в каждом столбце

// Вычисляем средние арифметические и сохраняем их в массиве columnAverages
for (int j = 0; j < COLS; j++) {
if (columnCounts[j] != 0) {
columnAverages[j] = static_cast(columnSums[j]) / columnCounts[j];
}
}

// Выводим средние арифметические на экран
for (int j = 0; j < COLS; j++) {
std::cout
G- Unit
G- Unit
2 867

Похожие вопросы