Задача 12 урок 15

Задача 12 урок 15

Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.

type myArr = array[1..10] of integer;
var a: myArr;
 i, h, c, s, f, z: integer;

begin
  z:=0; //счетчик попыток
  f:=0; //счетчик совпадений
  c:=0; //промежуточная
  s:=1; // счетчик заполненых элементов массива
  randomize();
  for i:=low(a) to high(a) do //заполняем массив
    begin
      if i = 1 then
        a[i]:= random(20) //первое без проверки
      else
        begin
          repeat
            f:=0;
            c := random(20);
            for h:=1 to s do
              if c = a[h] then
                f := f+1;    //если от 1 до s итераций
            z:=z+1;          //есть совпадения, крутим
          until (f=0) ;      //снова пока НЕ подберем
          a[i]:=c;
          s:=s+1;
        end;
    end;
  for i:=low(a) to high(a) do //цикл вывода результата
    write('| ',a[i]);
  writeln('|');
  writeln(z, 'iterac'); //сколько потребовалось циклов
  readln();
end.