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

Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга, если среди есть неуникальные элементы, то удалите их, сдвинув значения влево, заполняя оставшиеся справа ячейки нулями.

Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.
Например для:

|1|-3|5|-3|9|5|8|
получим:
|1|9|8|0|0|0|0|
type
  MyArray = array [1..7] of integer;
var
  a:MyArray;
  l,i:integer;

procedure wr(c:array of integer);
var i:integer;
begin
  for i:=low(c) to high(c) do
    write(c[i],' ');
  writeln();
end;

function uniq(b:array of integer):MyArray;
var i,j,z:integer;
  begin
    for i:=low(b) to high(b) do
      for j:=low(b) to high(b) do
          if((b[i]=b[j])and(i<>j)) then
            begin
              for z:=i to 6 do
              b[z]:=b[z+1];
              b[7]:=0;
            end;
    result:=b;
  end;

begin
  randomize();
  for l:=1 to 7 do
    begin
      a[l]:=random(15);
      write(a[l],' ');
    end;
  writeln();
  a:=uniq(a);
  writeln('massiv ');
  wr(a);


end.   

Консоль:

13 3 4 4 11 4 0 
massiv 
13 3 11 4 0 0 0 
vedro-compota's picture

засчитано

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