Предмет: Информатика, автор: nmarcuk690

На С++
Побудувати двовимірний масив розміром 5х5 і заповнити цілими числами в діапазоні від -20 до +20 (якщо рандомно - вивести на екран). Для масиву виконати дії, описані нижче. Після кожної дії потрібно вивести результуючий масив. Кожну дію робити в окремому файлі, на початку програми в коментарі писати умову. Програми записати в зошит (надрукувати)

Обчислити суму значень усіх елементів.

Обчислити добуток елементів, більших від 0.5.

Обчислити кількість ненульових елементів.

Замінити всі від'ємні елементи нулями та порахувати скільки їх було.

Обчислити середнє арифметичне всіх елементів.

Знайти середнє арифметичне додатних елементів.

Ответы

Автор ответа: ananimus333333
0

Ответ:

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

const int ROWS = 5;

const int COLS = 5;

// Функція для заповнення масиву випадковими числами в діапазоні від -20 до +20

void fillArray(int arr[ROWS][COLS]) {

   srand(time(0));

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           arr[i][j] = rand() % 41 - 20;

       }

   }

}

// Функція для виведення масиву на екран

void printArray(int arr[ROWS][COLS]) {

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           cout << arr[i][j] << " ";

       }

       cout << endl;

   }

}

// Функція для обчислення суми всіх елементів масиву

int sumOfElements(int arr[ROWS][COLS]) {

   int sum = 0;

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           sum += arr[i][j];

       }

   }

   return sum;

}

// Функція для обчислення добутку елементів, більших від 0.5

int productOfElementsGreaterThan05(int arr[ROWS][COLS]) {

   int product = 1;

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           if (arr[i][j] > 0.5) {

               product *= arr[i][j];

           }

       }

   }

   return product;

}

// Функція для обчислення кількості ненульових елементів

int countNonZeroElements(int arr[ROWS][COLS]) {

   int count = 0;

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           if (arr[i][j] != 0) {

               count++;

           }

       }

   }

   return count;

}

// Функція для заміни всіх від'ємних елементів нулями та обчислення їх кількості

int replaceNegativeElementsWithZeros(int arr[ROWS][COLS]) {

   int count = 0;

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           if (arr[i][j] < 0) {

               arr[i][j] = 0;

               count++;

           }

       }

   }

   return count;

}

// Функція для обчислення середнього арифметичного всіх елементів

double averageOfAllElements(int arr[ROWS][COLS]) {

   int sum = sumOfElements(arr);

   return static_cast<double>(sum) / (ROWS * COLS);

}

// Функція для обчислення середнього арифметичного додатних елементів

double averageOfPositiveElements(int arr[ROWS][COLS]) {

   int sum = 0;

   int count = 0;

   for (int i = 0; i < ROWS; i++) {

       for (int j = 0; j < COLS; j++) {

           if (arr[i][j] > 0) {

               sum += arr[i][j];

               count++;

           }

       }

   }

   if (count == 0) {

       return 0.0; // Щоб уникнути ділення на нуль

   }

   return static_cast<double>(sum) / count;

}

int main() {

   int arr[ROWS][COLS];

   // Заповнюємо масив випадковими числами

   fillArray(arr);

   cout << "Початковий масив:" << endl;

   printArray(arr);

   cout << "Сума всіх елементів: " << sumOfElements(arr) << endl;

   cout << "Добуток елементів, більших від 0.5: " << productOfElementsGreaterThan05(arr) << endl;

   cout << "Кількість ненульових елементів: " << countNonZeroElements(arr) << endl;

   int negCount = replaceNegativeElementsWithZeros(arr);

   cout << "Кількість замінених від'ємних елементів на нулі: " << negCount << endl;

   cout << "Середнє арифметичне всіх елементів: " << averageOfAllElements(arr) << endl;

   cout << "Середнє арифметичне додатних елементів: " << averageOfPositiveElements(arr) << endl;

   return 0;

}

Объяснение:

Похожие вопросы
Предмет: Информатика, автор: ludalavruk75
Предмет: Русский язык, автор: sofastognieva0406200
144А. Послушайте отрывок из стихотворе- ния "Кем быть?" Владимира Владимировича Маяковского. Столяру хорошо, А инженеру лучше, Я бы строить дом пошел, Пусть меня научат. - Я сначала начерчу Дом такой, какой хочу. Самое главное, Чтобы было наран Здание славное, Живое словно. Это будет перед, Называется фасад. Это каждый разберет Это ванна, это сад. План готов, и вокруг Сто работ на тыщу рук. фасад столяр Упираются леса В самые небеса. Где трудна работка, Там визжит лебедка; Подымает балки, Будто палки. Перетащит кирпичи, Закаленные в печи. По крыше выложили жесть. И дом готов, и крыша есть. Хороший дом, большущий дом На все четыре стороны, И заживут ребята в нем Удобно и просторно. (В. В. Маяковский) 144Б. Какова основная мысль отрывка? К кому обращено стихотво- рение? Какое настроение в нем передается? Что главное, по мнению поэта, в профессии инженера строителя? 144В. Назовите профес- сиональные слова. Почему в стихотворении использу- ются выделенные разго- ворные слова и выражения? Найдите эмоционально ок рашенные слова. С какой целью они употреблены в стихотворении?

помогите пожалуйста ​
Предмет: Геометрия, автор: uvan87