Все положительные элементы массива увеличить в два раза - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Все положительные элементы массива а1, а2 , ..., а20, расположенные правее первого нулевого элемента, увеличить в два раза.

Решение задачи: «Все положительные элементы массива увеличить в два раза»

textual
Листинг программы
bool flag = false;
for ( int i = 0 ; i < N; i ++ )
      {
           if ( mas[i] == 0 ) flag = true;
           if ( flag && mas[i] > 0 ) mas[i] *= 2 ;
       }

Объяснение кода листинга программы

В данном коде представлена логика обработки массива в следующем порядке:

  1. Переменная типа bool flag инициализируется значением false. Она будет использоваться для контроля наличия нулевых элементов в массиве.
  2. Происходит цикл по всем элементам массива mas от индекса 0 до N-1.
  3. Внутри цикла проверяется два условия:
    • Если значение текущего элемента массива mas[i] равно 0, то переменная flag устанавливается в значение true. Это необходимо для того, чтобы на следующем шаге цикла проверить, были ли в массиве нулевые элементы.
    • Если значение переменной flag равно true и текущий элемент массива mas[i] больше 0, то значение этого элемента удваивается с помощью оператора умножения *= 2.
  4. После завершения цикла, переменная flag не будет иметь значения true, так как все нулевые элементы были обработаны и увеличены в два раза. Таким образом, в результате выполнения данного кода, все положительные элементы массива будут увеличены в два раза.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы