Вопрос задан 17.07.2023 в 00:56. Предмет Информатика. Спрашивает Юдина Маргарита.

С++. Вопрос, почему не работает цикл 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; }
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кордилян Вадим.

Ответ:

#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 - это проверка, пример ты можешь посмотреть в новом коде выше..

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде связана с неправильным использованием цикла while. Внутри цикла while не происходит изменение значения arr[i], поэтому, если условие arr[i] < 0 истинно, цикл будет выполняться бесконечно.

Вместо этого вы, вероятно, хотели использовать условный оператор if, чтобы проверить, является ли значение arr[i] отрицательным. Вот исправленный код:

cpp
#include <iostream> using namespace std; int main() { const int size = 5; double arr[size]; 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++; sum += arr[i]; } } cout << k << endl << sum; return 0; }

В этой версии кода условие arr[i] < 0 проверяется с помощью оператора if, и при выполнении условия переменные k и sum обновляются. Таким образом, код должен работать правильно.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос