Задача 11 Урок 15

Задача 11 Урок 15

Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга, если среди есть неуникальные элементы, то удалите их, сдвинув значения влево, заполняя оставшиеся справа ячейки нулями.
Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.
Например для:
|1|-3|5|-3|9|5|8|
получим:
|1|9|8|0|0|0|0|

type
    arr = array [1..7] of integer;
var
  a: arr;
  min, max, i, count: integer;
  function unikum(var mas: arr; x: integer):arr;
  var y: integer;
  begin
    for x:= low(mas) to high(mas) - 1 do
       for y:= x + 1 to high(mas) do
          if mas[x] = mas[y] then
             begin
             mas[x]:= 0;
             mas[y]:= 0;
             end;
    result:= mas;
  end;
begin
   randomize();
   min:= 1;
   max:= 15;
   writeln('Original');
   for i:= low(a) to high(a) do
   begin
     a[i]:= min + random(max - min + 1);
     write(a[i], ' ');
   end;
   writeln();
   unikum(a, i);
   writeln('posle obnulenuya');
   for i:= low(a) to high(a) do
      write(a[i], ' ');
   writeln();
   for count:= 1 to high(a) do
     for i:= low(a) to high(a) do
     begin
       if a[i] = 0 then
          begin
           a[i]:= a[i + 1];
           a[i + 1]:= 0;
          end;
     end;
   writeln('Posle sdviga');
   for i:= low(a) to high(a) do
      write(a[i], ' ');
   readln();
end.  
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)