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

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

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

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

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

а для:

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

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

var a : array [1..7] of integer;
    i,i1: integer;
    c: boolean;
function unik():boolean;
begin
  for i:= low(a) to high(a) do
  begin
    for i1:= low(a) to high(a) do
      if (a[i]=a[i1]) and (i <> i1) then
        c:=true;
  end;
end;

begin
  randomize();
  for i:= low(a) to high(a) do
  begin
    a[i]:=random(16);
    write(a[i], '|');
  end;
  writeln();
  unik();

  if (c=true) then
    Write('Ne unik')
  else
    Write('Yra! Unik!');

readln();
end.
12|6|9|14|3|13|1|
Yra! Unik!
vedro-compota's picture

уйти от использования глобальных переменных

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

var a : array [1..7] of integer;
    c,i,i1: integer;
function unik():integer;
var c1: integer;
begin
  for i:= low(a) to high(a) do
  begin
    for i1:= low(a) to high(a) do
    begin
      if (a[i]=a[i1]) and (i <> i1) then
        c1:=1;
    end;
  end;
  result:=c1;
end;

begin
  randomize();
  for i:= low(a) to high(a) do
  begin
    a[i]:=random(16);
    write(a[i], '|');
  end;
  writeln();
  c:=unik();
  if (c=1) then
    Write('Ne unik')
  else
    Write('Yra! Unik!');

readln();
end.
vedro-compota's picture

 if (a[i]=a[i1]) and (i <> i1) then

уйти от использования глобальных переменных

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

var a : array [1..7] of integer;
    c,fi: integer;
function unik():integer;
var c1,i,i1: integer;
begin
  for i:= low(a) to high(a) do
  begin
    for i1:= low(a) to high(a) do
    begin
      if (a[i]=a[i1]) and (i <> i1) then
        c1:=1;
    end;
  end;
  result:=c1;
end;

begin
  randomize();
  for fi:= low(a) to high(a) do
  begin
    a[fi]:=random(16);
    write(a[fi], '|');
  end;
  writeln();
  c:=unik();
  if (c=1) then
    Write('Ne unik')
  else
    Write('Yra! Unik!');

readln();
end.