Здравствуйте. Мне нужно после каждого заданного элемента удалить элемент, если он отличен от предыдущего. Я написал программку, она у меня удаляет элементы, но смысл в том, что программа сравнивает все элементы, а не только которые стоят после предыдущего элемента т.е допустим 1 8 9 1, по сути он мне должен просто вывести 1, но выводит 1 1, находит все похожие элементы в массиве. Так вот я не пойму как это сделать, если не понятно, то ниже я привёл пример как должна работать программа.
Исходные элементы: 4 8 15 7 7 8 3 3
Массив после удаления элементов: 4 7 3
Т.е 4 <> 8, значит 8 удаляется, 8 <> 15, значит 15 удаляется, 15 <> 7, значит 7 удаляется, 7 = 7, значит 7 остаётся, 7 <> 8, значит 8 удаляется, 8 <> 3, значит 3 удаляется, 3 = 3, значит 3 остаётся.
Мой код:
Program lb_4;
Var i,n,s,j: integer ;
f : boolean;
a,b : array [1..1000] of integer;
Begin
repeat
writeln('Введите любое целое количество элементов');
readln(n);
if n <= 0 then
writeln('n не может быть меньше или равно нулю');
until n>0;
for i := 1 to n do begin
writeln('Введите i элемент:');
readln(a[i]);
end;
writeln('Исходный массив:');
for i := 1 to n do begin
write(a[i]:2);
end;
b[1] := a[1];
s := 1;
for i := 1 to n do begin
f := true;
for j := 1 to s do
if a[i] <> b[j] then
f := false;
end;
if f = true then begin
s := s + 1;
b[s] := a[i]
end;
writeln;
writeln('Массив после удаления ');
for i := 1 to s do
write(b[i]:2);
writeln();
End.