Необходимо "сжать" целочисленный массив, выбросив из него нулевые элементы - Pascal
Формулировка задачи:
3.Дан массив a(n) c целыми элементами . Необходимо "сжать" а , выбросив из него нулевые элементы . Если нулевых элементов нет , сообщить,что сжатие невозможно .
Решение задачи: «Необходимо "сжать" целочисленный массив, выбросив из него нулевые элементы»
textual
Листинг программы
Program P13; var Arr : Array[1..10] of integer; var k,i : integer; function Press(Var X : Array[1..10] of integer; n : integer) : integer; Var i_from, i_to : integer; Begin i_from:=1; i_to:=1; While (i_from <= n) Do Begin if (X[i_from] <> 0) Then Begin X[i_to]:=X[i_from]; inc(i_from); inc(i_to); End else inc(i_from); End; Press:=i_to-1; End; Begin Arr[1]:=1; Arr[2]:=0; Arr[3]:=0; Arr[4]:=-1; Arr[5]:=9; Arr[6]:=11; Arr[7]:=0; Arr[8]:=0; Arr[9]:=-13; Arr[10]:=99; k:=Press(Arr,10); if k<10 then for i:=1 to k Do Writeln(Arr[i]) else Writeln('Сжатие невозможно'); End.
Объяснение кода листинга программы
В данном коде создается программа P13, которая выполняет сжатие целочисленного массива, выбрасывая нулевые элементы. Переменные и их значения:
- Arr: массив целых чисел, размер которого может быть от 1 до 10.
- k: переменная, которая хранит результат сжатия массива.
- i: переменная, которая используется в цикле.
Функция Press принимает два аргумента: Var X - массив целых чисел, и n - номер элемента, который нужно удалить. Она возвращает номер последнего удаленного элемента.
Цикл While выполняется столько раз, сколько необходимо для удаления всех нулевых элементов из массива. Внутри цикла проверяется условие: если элемент массива не равен нулю, то его значение копируется в следующий элемент, а счетчики i_from и i_to увеличиваются. Если же элемент равен нулю, то счетчик i_from увеличивается, а счетчик i_to - уменьшается.
После выполнения функции Press, переменная k содержит количество удаленных элементов, и выполняется цикл for, который выводит каждый элемент массива, начиная с первого, если k меньше 10. Если же k равно 10, то выводится сообщение
Сжатие невозможно
. В начале программы создается массив Arr с 10 элементами, и в него записываются некоторые значения. Затем вызывается функция Press с аргументами Arr и 10. Результат сжатия сохраняется в переменной k. После этого выполняется вывод значений массива в зависимости от значения переменной k.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д