Дан массив x(20). Сжать его так, чтобы были удалены все нулевые элементы - Free Pascal

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

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

Дан массив x(20). Сжать его так, чтобы были удалены все нулевые элементы.

Решение задачи: «Дан массив x(20). Сжать его так, чтобы были удалены все нулевые элементы»

textual
Листинг программы
n:=20;
............
i:=1;
while i<=n do
if x[i]=0 then
 begin
  if i=n then n:=n-1
  else
   begin
    for j:=i to n-1 do
    x[j]:=x[j+1];
    n:=n-1;
   end;
  end
else i:=i+1;

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

  1. n := 20; — Объявляем переменную n и присваиваем ей значение 20, которое является верхним индексом массива.
  2. i := 1; — Объявляем переменную i и присваиваем ей значение 1, которое является первым индексом массива.
  3. while i<=n do — Запускаем цикл, который будет выполняться до тех пор, пока значение переменной i меньше или равно n.
  4. if x[i]=0 then — Если значение элемента массива x с индексом i равно 0, то выполняется следующий блок кода.
  5. begin — Начало блока кода.
  6. if i=n then n:=n-1 — Если значение переменной i равно n, то значение переменной n уменьшается на 1, т.к. удаляя элемент с индексом n, мы уменьшаем размер массива на 1.
  7. else — Если значение переменной i не равно n, то выполняется следующий блок кода.
  8. for j:=i to n-1 do — Запускаем цикл, который будет выполняться от i до n-1.
  9. x[j]:=x[j+1] — Копируем значение элемента массива x с индексом j+1 в элемент с индексом j, т.е. удаляем элемент с индексом i.
  10. n:=n-1 — Уменьшаем значение переменной n на 1, т.к. удаляя элемент с индексом n, мы уменьшаем размер массива на 1.
  11. end — Конец блока кода.
  12. else i:=i+1; — Если значение элемента массива x с индексом i не равно 0, то увеличиваем значение переменной i на 1 и переходим к следующей итерации цикла.
  13. Цикл завершается.

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


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

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

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