Написать программу, которая «сжимает» целочисленный массив из 10 элементов, удаляя из него элементы, меньше заданной величины. Освободившиеся в конце массива элементы заполнить нулями — Pascal(Паскаль)

uses crt;
const n=10;
var a:array[1..n] of integer;
    i,j,k:byte;
    x:integer;
begin
clrscr;
randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
 end;
writeln;
writeln;
write('Введите число для сравнения x=');
readln(x);
k:=0;
for i:=n downto 1 do{начнем с конца чтобы не сбить индексы}
if a[i]<x then{если меньше}
 begin
  k:=1;{фиксируем}
  if i=n then a[i]:=0{если последнее, заменяем на 0}
  else{иначе}
   begin
    for j:=i to n-1 do{сдвигаем на него конец массива}
    a[j]:=a[j+1];
    a[n]:=0;{в конец пишем 0}
   end;
 end;
if k=0 then write('Элементов меньше ',x,' нет')
else
 begin
  writeln('Массив псле сжатия:');
  for i:=1 to n do
  write(a[i]:4);
 end;
readln
end.

Leave a Comment

+ 81 = 89