Вопрос задан 06.10.2023 в 18:17. Предмет Информатика. Спрашивает Сабирзянов Вадим.

Дан трёхмерный массив М(1:100, 1:20, 1:75) вещественного типа а) составте алгоритм вычисления

суммы всех положительных элементов массива б) составьте алгоритм, позволяющий выяснить, каких элементов - положительных или отрицательных- в массиве больше и на сколько.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Медяник Алексей.

#include <iostream>

#include <time.h>

using namespace std;

void print_array3(int*** mat, int n, int m, int z) {

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

 for (size_t j = 0; j < m; j++) {

  for (size_t k = 0; k < z; k++) {

   cout << mat[i][j][k] << " ";

  }

  cout << endl;

 }

 cout << endl;

}

}

pair<int***, pair<int, int>> auto_input_array3_and_counter_positive(int*** mat, int n, int m, int z) {

int sum = 0;

int positive = 0;

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

 for (size_t j = 0; j < m; j++) {

  for (size_t k = 0; k < z; k++) {

   mat[i][j][k] = rand() % 200 - 100;

   if (mat[i][j][k] > 0) {

    positive++;

    sum += mat[i][j][k];

   }

  }

 }

}

return make_pair(mat, make_pair(positive, sum));

}

int main()

{

srand(time(NULL));

setlocale(LC_ALL, "Russian");

int n = 100, m = 20, z = 75;

int*** array = new int** [n];

pair<int***, pair<int, int>>  pair_array_and_positive_sum;

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

 array[i] = new int* [m];

 for (size_t j = 0; j < m; j++) {

  array[i][j] = new int[z];

 }

}

pair_array_and_positive_sum = auto_input_array3_and_counter_positive(array, n, m, z);

print_array3(pair_array_and_positive_sum.first, n, m, z); // ЕСЛИ НЕ НАДО ВЫВОДИТЬ, ТО ЗАКОММЕНТИРОВАТЬ

cout << "Сумма всех положительных элементов в массиве равна: " << pair_array_and_positive_sum.second.second << endl;

if (pair_array_and_positive_sum.second.first > n* m* z - pair_array_and_positive_sum.second.first) {

 cout << "Положительных чисел больше на " << n * m * z - (n * m * z - pair_array_and_positive_sum.second.first) << endl;

}

else {

 cout << "Отрицательных чисел больше на " << n * m * z - 2 * pair_array_and_positive_sum.second.first << endl;

}

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения задачи, вы можете использовать следующие алгоритмы на языке псевдокода:

а) Алгоритм вычисления суммы всех положительных элементов массива:

yaml
1. Инициализировать переменную sum_positives = 0 2. Для i от 1 до 100: 3. Для j от 1 до 20: 4. Для k от 1 до 75: 5. Если М(i, j, k) > 0, то 6. sum_positives = sum_positives + М(i, j, k) 7. Вывести sum_positives

Этот алгоритм проходит через каждый элемент массива и проверяет, является ли он положительным (больше нуля). Если элемент положителен, то его значение добавляется к сумме положительных элементов.

б) Алгоритм для определения, сколько больше положительных или отрицательных элементов в массиве:

markdown
1. Инициализировать переменные count_positives = 0 и count_negatives = 0 2. Для i от 1 до 100: 3. Для j от 1 до 20: 4. Для k от 1 до 75: 5. Если М(i, j, k) > 0, то 6. count_positives = count_positives + 1 7. Иначе, 8. count_negatives = count_negatives + 1 9. Если count_positives > count_negatives, то 10. Вывести "Положительных элементов больше на " + (count_positives - count_negatives) 11. Иначе, если count_negatives > count_positives, то 12. Вывести "Отрицательных элементов больше на " + (count_negatives - count_positives) 13. Иначе, 14. Вывести "Положительных и отрицательных элементов одинаковое количество"

Этот алгоритм проходит через каждый элемент массива и подсчитывает количество положительных и отрицательных элементов. Затем он сравнивает эти счетчики и выводит сообщение о том, какой тип элементов (положительные или отрицательные) больше и на сколько.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос