Дан целочисленный массив с количеством элементов n. Сжать массив,выбросив из него каждый второй элемент — Pascal(Паскаль)

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j:byte;
begin
clrscr;
randomize;
repeat
write('Размер масива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(20);
  write(a[i]:3);
 end;
writeln;
writeln;
i:=n;
while i>=1 do{начнем с конца}
 begin
  if i mod 2=0 then{если четный индекс}
   begin
    for j:=i to n-1 do{сдвигаем на него конец массива, он исчезает}
    a[j]:=a[j+1];
    n:=n-1;{уменьшаем размер}
   end;
  i:=i-1;{идем к началу}
 end;
writeln('Сжатый массив:');
for i:=1 to n do
write(a[i]:3);
readln
end.

Leave a Comment

18 + = 22