Пользователь с клавиатуры вводит числа,если встречается отрицательное число,предыдущие складываются,если отрицательное отсутствует,программа кончается
Добрый день уважаемые товарищи,написал программу,при запуске работает,однако не работают условия(точнее работают,но не правильно),получается полная каша,подскажите пожалуйста, как сделать правильно? само задание в названии
#include <iostream>
using namespace std;
int main()
{
int mas[5], x, y, i,l,sum;
sum = 0;
for (i = 0; i < 5; i++)
{
setlocale(LC_CTYPE, "");
printf("Введите элемент массива:\n");
cin >> mas[i];
}
for(i=0;i<5;i++)
{
if (mas[i] < 0)
{
for (l = 0; l < i; l++)
{
sum = +mas[l];
printf("сумма равна\n");
cout << sum;
}
}
else printf("все числа положительны\n");
}
}
Ответы (1 шт):
Автор решения: VAntonuk
→ Ссылка
если правильно понял задачу
#include <iostream>
using namespace std;
int main() {
int mas[5], x, y, i, l, sum;
setlocale(LC_CTYPE, "");
sum = 0;
bool good = true;
for (i = 0; i < 5; i++) {
printf("Введите элемент массива:%d\n", i + 1);
cin >> mas[i];
}
for (i = 0; i < 5; i++) {
if (mas[i] < 0) {
for (l = 0; l < i; l++) {
sum += mas[l];
}
printf("сумма равна\n");
cout << sum;
sum = 0;
good = false;
}
}
if (good) {
printf("все положительные");
}
}