zadah65.PAS

{* Задача 65 *}

Unit ZADAH65;
Interface
Implementation
Begin
 writeln('В массиве размера N удалить все одинаковые элементы, оставив их последние вхождения ');
End.

Program array97;

Uses zadah65.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Type {* Типы переменных *}
  mas = Array[1..100] Of integer;
Var {* Объявление переменных *}
  i  : integer;
  j  : integer;
  k  : integer;
  n  : integer;
  f1 : integer;
  f2 : integer;
  l  : integer;
  a  : integer;
  b  : integer;
  c  : integer;
  d  : real;
  g  : real;
  ar : mas;
  br : mas;
  cr : mas;
  dr : mas;
Begin
  clrscr; {* Стираем всё с экрана *}
  write('Введите размер массива A: ');
  readln(a);
  For i := 1 To a Do {* Увеличиваем i от 1 до a с шагом 1 *}
  Begin
    write('Введите ', i, ' элемент массива ');
    readln(ar[i]);
  End;
  For i := 1 To a Do {* Цикл для i => [1 .. a] *}
    write(ar[i] : 3, '|');
  writeln; {* Пропускаем одну строку *}
  For i := 1 To a - 1 Do {* Увеличиваем i от 1 до a с шагом 1 *}
    For j := i + 1 To a Do
      If ar[i] = ar[j] Then
      Begin
        For c := i To a Do {* Увеличиваем c от i до a с шагом 1 *}
          ar[c] := ar[c + 1];
        inc(a, - 1); {* Прибавим к a, - 1 единицу *}
        inc(j, - 1); {* j, - 1++ *}
      End;
  write('Размер нового массива = ', a);
  writeln; {* Пустая строка *}
  For i := 1 To a Do {* Увеличиваем i от 1 до a с шагом 1 *}
    write(ar[i] : 3, '|');
End.