Напиши, пожалуйста, программу на С++ Найти сумму положительных и число отрицательных элементов массива
а0, а1, а2,…, аn-1.
Датчики псевдослучайных чисел использовать запрещается.
Входные данные вводятся с клавиатуры, выходные данные выходятся на экран с пояснениями. Проверить и продемонстрировать работу программы.
Chrees:
Размер массива задает программа или пользователь?
размер массива задает пользователь
Ответы
Ответ дал:
2
Тут очень неудобно писать код, все сливается. Смотри скриншот
Приложения:
Насчет NegativeOna, сам не знаю почему, но счетчик срабатывает на 1 раз больше требуемого, поэтому инициализируем с -1. Костыль конечно, но что поделать
Всегда удивлялся людям, которые вместо простого и понятного int a[n] пишут int *a=new int(SizeOfa)...
Динамический массив
Оператор int a[n] задает массив нужного размера, если n уже определено в процессе выполнения программы. А динамический массив тут просто ни к чему.
Выделение памяти под массив происходит на этапе компиляции
Использование статичного массива весьма спорно, в любой программе, так как вы лишаете себя возможности контролирования памяти, из-за чего и происходят ошибки
Ответ дал:
2
Dev-C++
#include <iostream>
using namespace std;
int main() {
int i, n;
cout<<"Введите количество элементов: ";
cin>>n;
int a[n];
for (i=0; i<n; i++) {
cout<<"Введите "<<i+1<<"-й элемент: ";
cin>>a[i];
}
int sump=0, koln=0;
for (i=0; i<n; i++) {
if (a[i]<0) koln++;
else if (a[i]>0) sump+=a[i];
}
cout<<"Сумма положительных равна "<<sump<<endl;
cout<<"Количество отрицательных равно "<<koln<<endl;
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
Для продолжения нажмите любую клавишу . . .
#include <iostream>
using namespace std;
int main() {
int i, n;
cout<<"Введите количество элементов: ";
cin>>n;
int a[n];
for (i=0; i<n; i++) {
cout<<"Введите "<<i+1<<"-й элемент: ";
cin>>a[i];
}
int sump=0, koln=0;
for (i=0; i<n; i++) {
if (a[i]<0) koln++;
else if (a[i]>0) sump+=a[i];
}
cout<<"Сумма положительных равна "<<sump<<endl;
cout<<"Количество отрицательных равно "<<koln<<endl;
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
Для продолжения нажмите любую клавишу . . .
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад
9 лет назад