Помощь - Поиск - Пользователи - Календарь
Полная версия: Randomize
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Anastacia Adesso
Нажмите для просмотра прикрепленного файлаНе скажите, как сделать эту программу, чтоб случайные числа выпадали ОБЯЗАТЕЛЬНО разные?
Please
volvo
Процедуру masivs переделать так:

    procedure masivs;
var used: set of byte;
begin
randomize;
used := [];
for i:=1 to n do begin
repeat
ar[i] := 1 + random(35); { <--- от 1 до 35 }
until not(ar[i] in used);
used := used + [ar[i]];
end;

writeln('Skaitli 5 no 35');writeln;
end;
Anastacia Adesso
volvo

А можно как то без множеств? У меня препод выдаст что мы такое не умеем
volvo
Можно... Только во-первых, будет сложнее для понимания, а во-вторых - больше кода... Нужно?

Вот, объем кода не особо увеличился smile.gif :
    procedure masivs;
var
found: boolean;
j: integer;
begin
randomize;
for i:=1 to n do begin
repeat
ar[i] := 1 + random(35);
found := false;
for j := 1 to i - 1 do
if ar[j] = ar[i] then found := true;
until not found;
end;

writeln('Skaitli 5 no 35');writeln;
end;
Anastacia Adesso
Спасибо огромное!!!
Я кстати эту поняла!!!
Lapp
Сообщение Madam перенесено в отдельную тему: Линейный список
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.