Сжать массив, выбросив из него все нулевые элементы - 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 и выполняет следующие действия:

  1. Объявляет переменные: n, i, j, p, x, a (тип данных - array[1..100] of integer).
  2. Очищает экран с помощью функции ClrScr.
  3. Запрашивает у пользователя размер массива n.
  4. Создает массив a размером n*100.
  5. Заполняет массив случайными числами от 0 до 3.
  6. Выводит на экран исходный массив.
  7. В цикле while считывает значение переменной i от 1 до n.
  8. Если значение i равно 0, то перебирает все элементы массива a[i], a[i+1], ..., a[n-1] и присваивает их значение a[i].
  9. Уменьшает значение переменной n на 1.
  10. Если значение i не равно 0, то увеличивает значение i на 1.
  11. Выводит на экран массив без нулевых элементов.
  12. Завершает работу программы.

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


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

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

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