Решение 2 Задача 10 Урок 15

Урок 15

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

|1|5|4|5|6|7|8|

-- функция должна "сообщить", что он неуникальный
а для:

|1|15|4|5|6|7|8|

-- что уникальный.

type myArr = array[1..7] of integer;

var a: myArr;
    i: integer;

function f1(arr: array of integer) :String;
  var s: String;
      j: integer;
  begin
    i := 0;
    s := 'Unikalniy';
    while (s = 'Unikalniy') and (i <= high(a)) do // чтобы быстро прервать цикл
    begin
      j := i; //чтобы не начинать с нуля
        while (s = 'Unikalniy') and (j <= high(a)) do // чтобы быстро прервать цикл
        begin
          if (arr[i] = arr[j]) and (i <> j) then
            s := 'Ne unikalniy';
          inc(j);
        end;
      inc(i);
    end;
    result := s;
  end;

begin
  randomize();
  for i:=low(a) to high(a) do // наполняем и выводим в консоль
  begin
    a[i] := random(11) - 5;
    write(a[i], ' ');
  end;
  writeln();
  writeln(f1(a));
  readln();
end.

КОНСОЛЬ

1 -5 -1 -3 5 -1 -3
Ne unikalniy
vedro-compota's picture

засчитано

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