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

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

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

var a: array [1..10] of integer;
k,s,p:integer;

function unique(b: array of integer; m,j: integer): boolean;
 var i:integer;
 begin
   for i:=1 to j do
     if (a[i]=m) then
     begin
       result:=false;
       break;
     end
     else
       result:=true;
 end;

begin
  randomize();
  k:=1;
  a[k]:=random(20);
  while (k<=10) do
  begin
    s:=random(20);
  if unique(a,s,k)=true then
  begin
    k:=k+1;
    a[k]:=s;
  end;
  end;
  for p:=1 to 10 do
  begin
    write(a[p], ' ');
  end;
  readln();
end.
       
vedro-compota's picture

1)

function unique(b: array of integer; m,j: integer): integer;

-- эта функция должна возвращать boolean + инвертировать логику, т.е. для ситуации когда число уникально - возвращаем true

2) форматирование

3) Суть проблемы выписать письменно -- если она останется

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