ДАЮ 99 БАЛЛОВ!!Напишите программу ** Паскале пожалуйста.Заполните одномерный массив с...

0 голосов
23 просмотров

ДАЮ 99 БАЛЛОВ!!Напишите программу на Паскале пожалуйста.Заполните одномерный массив с помощью датчика случайных чисел таким образом,чтобы все его элементы были различны(не используйте пожалуйста логарифмы и тд ,максимально простое оформление)


Информатика (466 баллов) | 23 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Const n=20;
var a:array[1..n] of integer;b,i,j:integer; t:boolean;
begin
Randomize;
writeln;
for i:=1 to n do begin
t:=false;         
while t=false do begin         
a[i]:=random(100)+1;         
t:=true;                 
for j:=1 to i-1 do                 
if a[i]=a[j] then t:=false;
end;
write(a[i]:4);
end;
end.

  85 100  91  43  88  27   2  40  97  81  29  95  58  24  28  84   8  12  67   6

(56 баллов)
0

Const n=20;
var a:array[1..n] of integer;
b,i,j:integer; t:boolean;

begin
Randomize;
writeln;
for i:=1 to n do begin
t:=false;
while t=false do begin
a[i]:=random(100)+1;
t:=true;
for j:=1 to i-1 do
if a[i]=a[j] then t:=false;

end;
write(a[i]:4);
end;
end.

0

результат 85 100 91 43 88 27 2 40 97 81 29 95 58 24 28 84 8 12 67 6

0 голосов

Const n=20;
var a:array[1..n] of integer;
b,i:integer;
mn:set of byte;
begin
Randomize;
a[1]:=random(100)+1;
mn:=[a[1]];
for i:=2 to n do 
 begin
 b:=random(100)+1;
 while b in mn do b:=random(100)+1;
 a[i]:=b;
 mn:=mn+[b];
 write(a[i]:3);
 end;
end.

Пример:
 48  4 91 38 69 71 75 50 46 73 33 10 60 98 42 77 83 15 76

(194k баллов)
0

Не будет.