С++ задача простая Все положительные элементы массива а(10), расположенные правее первого нулевого элемента, увеличить в два раза.
... Проблема с if
Я не могу понять что будет если 0 не будет,или будет в конце

25 Ноя 2022 в 19:40
84 +1
0
Ответы
1

В случае, если в массиве нет нулевых элементов или нулевой элемент расположен в конце массива, то все положительные элементы, расположенные правее первого нулевого элемента, останутся без изменений (не будут увеличены в два раза).

Пример кода на C++, который выполняет указанное условие:

#include <iostream>
int main() {
int a[10] = {1, 2, 3, 0, 5, 6, 7, 8, 9, 10};
bool zeroFound = false;
for (int i = 0; i < 10; i++) {
if (zeroFound && a[i] > 0) {
a[i] *= 2;
}
if (a[i] == 0) {
zeroFound = true;
}
}
for (int i = 0; i < 10; i++) {
std::cout << a[i] << " ";
}
return 0;
}

В этом коде мы проходим по массиву a и ищем первый нулевой элемент. После того, как нулевой элемент найден, все последующие положительные элементы, начиная сразу после нуля, увеличиваем в два раза.

16 Апр 2024 в 17:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир