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

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

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

Например для массива:

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

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

а для:

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

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

Решение:

program u15z10;
type myArr = array[1..7] of integer;
var i:integer;
  a:myArr;
  s:string;

procedure writeArr(arr:myArr; mes:string);
begin
  writeln(mes);
  for i:=low(arr) to high(arr) do
    write(arr[i],' ');
  writeln();
end;

function uniArr(arr:myArr):string;
var j:integer;
  t:boolean;
begin
  t:=true;
  for i:=1 to high(arr) do
    for j:=i+1 to high(arr) do
      if arr[i] = arr[j] then
        t:=false;
    if t then
      result:='unique'
    else
      result:='not unique';
end;

begin
  randomize;
  for i:=low(a) to high(a) do
    a[i]:= random(25);
  writeArr(a,'massiv:');
  s:=uniArr(a);
  writeln(s);
  writeln('THE END');
  readln();
end.

Консоль:

massiv:
13 5 14 8 10 14 1
not unique
THE END