Поменять в обратном порядке положительные элементы массива - Pascal

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

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

Помогите, пожалуйста, доработать алгоритм. Задача такова: "Переставить в обратном порядке положительные элементы вещественного массива из 10 компонент".
Понимаю что что-то упускаю, но никак не могу понять, что именно. Рассчитываю на вашу помощь.

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

textual
Листинг программы
i := 1;
j := 10;
while (i<j) do
begin
    if (a[i] <= 0)
    begin
        inc(i);
        continue;
    end;
    if (a[j] <= 0)
    begin
        dec(j);
        continue;
    end;
    tmp := a[i];
    a[i] := a[j];
    a[j] := tmp;
    inc(i);
    dec(j);
end;

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

  1. i := 1; — присваиваем переменной i значение 1
  2. j := 10; — присваиваем переменной j значение 10
  3. while (i<j) do — начинаем цикл, пока i меньше j
  4. if (a[i] <= 0) — если элемент массива a[i] меньше или равен нулю
  5. begin — начало блока кода
  6. inc(i); — увеличиваем значение i на 1
  7. continue; — переходим к следующей итерации цикла, пропуская оставшийся код в блоке
  8. end; — конец блока кода
  9. if (a[j] <= 0) — если элемент массива a[j] меньше или равен нулю
  10. begin — начало блока кода
  11. dec(j); — уменьшаем значение j на 1
  12. continue; — переходим к следующей итерации цикла, пропуская оставшийся код в блоке
  13. end; — конец блока кода
  14. tmp := a[i]; — присваиваем переменной tmp значение a[i]
  15. a[i] := a[j]; — присваиваем элементу массива a[i] значение a[j]
  16. a[j] := tmp; — присваиваем элементу массива a[j] значение tmp
  17. inc(i); — увеличиваем значение i на 1
  18. dec(j); — уменьшаем значение j на 1
  19. end; — конец цикла

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


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

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

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