Поменять в обратном порядке положительные элементы массива - 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;
Объяснение кода листинга программы
- i := 1; — присваиваем переменной i значение 1
- j := 10; — присваиваем переменной j значение 10
- while (i<j) do — начинаем цикл, пока i меньше j
- if (a[i] <= 0) — если элемент массива a[i] меньше или равен нулю
- begin — начало блока кода
- inc(i); — увеличиваем значение i на 1
- continue; — переходим к следующей итерации цикла, пропуская оставшийся код в блоке
- end; — конец блока кода
- if (a[j] <= 0) — если элемент массива a[j] меньше или равен нулю
- begin — начало блока кода
- dec(j); — уменьшаем значение j на 1
- continue; — переходим к следующей итерации цикла, пропуская оставшийся код в блоке
- end; — конец блока кода
- tmp := a[i]; — присваиваем переменной tmp значение a[i]
- a[i] := a[j]; — присваиваем элементу массива a[i] значение a[j]
- a[j] := tmp; — присваиваем элементу массива a[j] значение tmp
- inc(i); — увеличиваем значение i на 1
- dec(j); — уменьшаем значение j на 1
- end; — конец цикла
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д