С++ двовииірні масиви (если можно, то с объяснением)
Большое , чем кто . Очень нужно


С++ двовииірні масиви (если можно, то с объяснением)Большое , чем кто . Очень нужно

sharinaEl sharinaEl    1   17.02.2022 20:33    0

Ответы
mkatty2910 mkatty2910  17.02.2022 20:40

#include <iostream>

#include <iomanip>

#include <stdio.h>

using namespace std;

//функция вывода массива в консоль

void printArray (int arr[][4], int n) {

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

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

           cout << setw(5) << arr[i][j];

       }

       cout << endl;

   } cout << endl;

}

//функция замены всех отрицательных элементов нулями

void taskOne (int arr[][4], int n) {

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

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

           if (arr[i][j] < 0) arr[i][j] = 0;

       }

   }

}

//функция нахождения суммы парных элементов

void taskTwo (int arr[][4], int n) {

   int sum = 0;

   cout << "Сумма парных чисел (";

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

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

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

               if(sum!=0) cout << ", "; //для красоты вывода)

               cout << arr[i][j];

               sum = sum + arr[i][j];

           }

       }

   }

   cout << ") = " << sum << endl << endl;

}

//функция нахождения среднего арифметическое мин и макс

void taskThree (int arr[][4], int n) {

   int max = arr[0][0];

   int min = arr[0][0];

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

       for (int j = 1; j < n; j++) {

           // Понятное дело что минимальное число в массиве 0, но может имеется

           // ввиду минимальное кроме 0. Если нет то проверку на ноль

           // можно убрать arr[i][j] != 0

           if (arr[i][j] != 0 && arr[i][j] < min) min = arr[i][j];

           if (arr[i][j] > max) max = arr[i][j];

       }

   }

   

   float result = float(max+min)/(n*n);

   cout << "max = " << max << ", min = " << min <<endl;

   cout << "Среднее арифметическое = " << result << endl <<endl;

}

int main() {

   const int n = 4; //размер массива

   int arr[n][n]; //объявляем двумерный массив размером 4 на 4

   

   // Многомерный массив заполняется значениями с вложенных циклов.

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

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

           arr[i][j] = rand() % 81 + (-40); // генерируем случайное число от -40 до 40

           //  rand() % N; возвращает число от 0 до N-1

           // Если сгенерируется число 80 то отнимая 40 получим нужный максимум

           // а если 0 - то -40, тоесть нужный нам минимум

       }

   }

   

   // Выводим массив в консоль.

   cout << "Сгенерированный массив 4 на 4" << endl << endl;

   printArray(arr, n);

   

   // №1 - Заменяем все отрицательные элементы нулями.

   cout << "Задание №1" << endl << endl;

   taskOne(arr, n);

   printArray(arr, n);

   

   // №2 - Заменяем все отрицательные элементы нулями.

   cout << "Задание №2" << endl << endl;

   taskTwo(arr, n);

   // №3 - Заменяем все отрицательные элементы нулями.

   cout << "Задание №3" << endl << endl;

   taskThree(arr, n);

   

   return 0;

}

На скриншоте вывод программы


С++ двовииірні масиви (если можно, то с объяснением)Большое , чем кто . Очень нужно
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика