Сжать массив, выбросив из него все нулевые элементы - Pascal
Формулировка задачи:
Помогите идиоту сжать заданный массив, выбросив из него все нулевые элементы=)
Решение задачи: «Сжать массив, выбросив из него все нулевые элементы»
textual
Листинг программы
uses Crt; var a:array[1..100] of integer; n,i,j,p,x:integer; begin ClrScr; randomize; write('Размер массмва n='); readln(n); writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(4); write(a[i],' '); end; writeln; i:=1; while i<=n do if a[i]=0 then begin for j:=i to n-1 do a[j]:=a[j+1]; n:=n-1; end else i:=i+1; writeln('Массив без нолей:'); for i:=1 to n do write(a[i],' '); readln end.
Объяснение кода листинга программы
Этот код написан на языке Pascal и выполняет следующие действия:
- Объявляет переменные: n, i, j, p, x, a (тип данных - array[1..100] of integer).
- Очищает экран с помощью функции ClrScr.
- Запрашивает у пользователя размер массива n.
- Создает массив a размером n*100.
- Заполняет массив случайными числами от 0 до 3.
- Выводит на экран исходный массив.
- В цикле while считывает значение переменной i от 1 до n.
- Если значение i равно 0, то перебирает все элементы массива a[i], a[i+1], ..., a[n-1] и присваивает их значение a[i].
- Уменьшает значение переменной n на 1.
- Если значение i не равно 0, то увеличивает значение i на 1.
- Выводит на экран массив без нулевых элементов.
- Завершает работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д