uses crt;
const max=100;
var a:array[1..max] of integer;
n,i,j,k,p,q:byte;
x:integer;
begin
clrscr;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Введите ',n,' целых чисел:');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
i:=1;
while i<=n do{идем по массиву}
begin
k:=0;
for j:=i+1 to n do{смотрим впереди}
if a[j]=a[i] then k:=k+1;{если совпадает, считаем}
if k=1 then{если 1 совпадение}
begin
p:=i;x:=a[i];{фиксируем индекс, запоминаем элемент}
while p<=n do{пока не конец массива}
if a[p]=x then{находим совпадпющий}
begin
for q:=p to n-1 do{сдвигаем к нему влево конец массива}
a[q]:=a[q+1];{на 1}
n:=n-1;{уменьшаем размер массива}
end
else p:=p+1;{иначе идем вперед}
end
else i:=i+1;{иначе идем вперед}
end;
writeln('n=',n);
writeln('Массив после сжатия:');
for i:=1 to n do
write(a[i],' ');
readln
end.