Напиши, пожалуйста, программу ** С++ Найти сумму положительных и число отрицательных...

0 голосов
59 просмотров

Напиши, пожалуйста, программу на С++ Найти сумму положительных и число отрицательных элементов массива
а0, а1, а2,…, аn-1.
Датчики псевдослучайных чисел использовать запрещается.
Входные данные вводятся с клавиатуры, выходные данные выходятся на экран с пояснениями. Проверить и продемонстрировать работу программы.


Информатика (137 баллов) | 59 просмотров
0

Размер массива задает программа или пользователь?

0

размер массива задает пользователь

Дано ответов: 2
0 голосов
Правильный ответ
Dev-C++
#include
using namespace std;

int main() {
    int i, n;
    cout<<"Введите количество элементов: ";<br>    cin>>n;
    int a[n];
    for (i=0; i        cout<<"Введите "<<i+1<<"-й элемент: ";<br>        cin>>a[i];
    }
    int sump=0, koln=0;
    for (i=0; i            if (a[i]<0) koln++;<br>            else if (a[i]>0) sump+=a[i];
    }
    cout<<"Сумма положительных равна "<<sump<<endl;<br>    cout<<"Количество отрицательных равно "<<koln<<endl;<br>    system("PAUSE");
    return 0;
}

Тестовое решение:
Введите количество элементов: 10
Введите 1-й элемент: 4
Введите 2-й элемент: 0
Введите 3-й элемент: -2
Введите 4-й элемент: 6
Введите 5-й элемент: 5
Введите 6-й элемент: 0
Введите 7-й элемент: -5
Введите 8-й элемент: -2
Введите 9-й элемент: 7
Введите 10-й элемент: -4
Сумма положительных равна 22
Количество отрицательных равно 4
Для продолжения нажмите любую клавишу . . .

(142k баллов)
0 голосов

Тут очень неудобно писать код, все сливается. Смотри скриншот


image
(480 баллов)
0

Насчет NegativeOna, сам не знаю почему, но счетчик срабатывает на 1 раз больше требуемого, поэтому инициализируем с -1. Костыль конечно, но что поделать

0

Всегда удивлялся людям, которые вместо простого и понятного int a[n] пишут int *a=new int(SizeOfa)...

0

Динамический массив

0

Оператор int a[n] задает массив нужного размера, если n уже определено в процессе выполнения программы. А динамический массив тут просто ни к чему.

0

Выделение памяти под массив происходит на этапе компиляции

0

Использование статичного массива весьма спорно, в любой программе, так как вы лишаете себя возможности контролирования памяти, из-за чего и происходят ошибки