• Предмет: Информатика
  • Автор: Гугуся1456
  • Вопрос задан 8 лет назад

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

Ответы

Ответ дал: petyaGavrikov
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
Ответ дал: Аноним
0
Т.е. с числами, большими 255, эта программа работать не будет.
Ответ дал: petyaGavrikov
0
Не будет.
Ответ дал: graymouse
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
Ответ дал: graymouse
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.
Ответ дал: graymouse
0
результат 85 100 91 43 88 27 2 40 97 81 29 95 58 24 28 84 8 12 67 6
Вас заинтересует