
2.Составить программу, вычисляющую сумму всех положительных элементов массива а[5][5] и
произведение отрицательных С++

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

Відповідь:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(int **arr,const int n,const int m){
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
arr[i][j] = rand() % 109 + (-37);
}
}
}
void printarr(int **arr,const int n,const int m){
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cout << arr[i][j] << " ";
}
cout << endl;
}
}
int sumpositive(int **arr,const int n,const int m){
int sum = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(arr[i][j] > 0){
sum += arr[i][j];
}
}
}
return sum;
}
int sumnegative(int **arr,const int n,const int m){
int sum = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(arr[i][j] < 0){
sum += arr[i][j];
}
}
}
return sum;
}
const int n = 5,m = 5;
int main(){
setlocale(LC_ALL, "Rus");
int **arr = new int *[n];
for (int i = 0; i < n; i++)
arr[i]=new int[m];
randarr(arr,n,m);
cout << "Массив: " << endl;
printarr(arr,n,m);
cout << "\nСумма положительных елементов = " << sumpositive(arr,n,m) << endl;
cout << "Сумма отрицательных елементов = " << sumnegative(arr,n,m) << endl;
for (int i = 0; i < n; i++)
delete[]arr[i];
delete[]arr;
return 0;
}



Программа для вычисления суммы положительных элементов и произведения отрицательных элементов в массиве a на языке C++
```c++
#include
int main() { int a[5][5] = { {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 sumPositive = 0; int productNegative = 1;
for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (a[i][j] > 0) { sumPositive += a[i][j]; } else if (a[i][j] < 0) { productNegative *= a[i][j]; } } }
printf("Сумма положительных элементов: %d\n", sumPositive); printf("Произведение отрицательных элементов: %d\n", productNegative);
return 0; } ```
Объяснение программы: - Мы объявляем двумерный массив `a[5][5]` и инициализируем его значениями. - Затем мы объявляем переменные `sumPositive` для хранения суммы положительных элементов и `productNegative` для хранения произведения отрицательных элементов. - Затем мы используем два вложенных цикла `for` для перебора всех элементов массива. - Внутри циклов мы проверяем каждый элемент массива: - Если элемент больше нуля, мы добавляем его к переменной `sumPositive`. - Если элемент меньше нуля, мы умножаем его на переменную `productNegative`. - После завершения циклов, мы выводим значения `sumPositive` и `productNegative` на экран.
Пример вывода: ``` Сумма положительных элементов: 169 Произведение отрицательных элементов: -1122662400 ```
Пожалуйста, обратите внимание, что в данном примере я использовал фиксированный массив `a[5][5]` с заранее заданными значениями. Если вам нужно ввести значения массива с клавиатуры или считать их из файла, вам нужно будет внести соответствующие изменения в программу.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili