Предмет: Информатика,
автор: Молодочек
С++. Вопрос, почему не работает цикл while. Вот код
#include
#include
#include
using namespace std;
int main()
{
const int size = 5;
double arr[size];
int nowi;
for (int i = 0; i < size; i++)
{
cin >> arr[i];
}
cout << endl;
int sum = 0;
int k = 0;
for (int i = 0; i < size; i++)
{
while (arr[i] < 0)
{
k++;
sum = sum + arr[i];
}
}
cout << k << endl << sum;
return 0;
}
MrMiner1:
У тебя цикл while завершается после того, как элемент массива под номером i станет неотрицательным. Но в цикле ты увеличиваешь значение k, а не arr[i]. И, как следствие, если изначально arr[i] отрицателен, то выход из цикла не совершится.
Ответы
Автор ответа:
1
Ответ:
#include <iostream>
using namespace std;
int main()
{
const int size = 5;
double arr[size];
int new;
for (int i = 0; i < size; i++)
{
cin >> arr[i];
}
cout << endl;
int sum = 0;
int k = 0;
for (int i = 0; i < size; i++)
{
if( arr[i] < 0)
{
k++;
}
}
cout << k << endl << sum;
return 0;
}
Объяснение:
1-е Я не знаю была или нет у тебя директория, то есть "#include" она должна быть для работы программы;
2-е Тебе не нужен while он работает от true и false, бессмысленно его использовать для проверки массива...
3-е Я добавил if вместо while. if - это проверка, пример ты можешь посмотреть в новом коде выше..
Похожие вопросы
Предмет: Английский язык,
автор: spartakturygin10
Предмет: Физика,
автор: grisenkovalerij80
Предмет: География,
автор: a98115417
Предмет: История,
автор: savsan