Помощь - Поиск - Пользователи - Календарь
Полная версия: Множества, задача про Random-заполнение
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Clerick
Народ выручайте кто может!!!
Необходимо решить следущую задачу: составить прогу, которая заполняет множество 15-ю английскими буквами и при том randomом!!! Я составил её, а она не работает... blink.gif
uses crt;
type alarm=set of char;
var i,j,n:integer;
a:alarm;

procedure ndfs (a:alarm);
var k:char;
begin
for k:=chr(0) to chr (255) do
begin
if (k in a) then Write (k);
end;
end;
begin
randomize;
for i:=1 to 15 do begin
n:=random (65)+25;
if chr(n) in a then i:=i-1 else a:=a+[chr(n)];
end;
ndfs(a);
end.

Выводятся совершенно левые буквы... mega_chok.gif Помогите найти ошибку! Заранее спасибо!!! smile.gif
volvo
1) не изменяй переменную цикла внутри самого цикла, как ты сделал с переменной i...
2) зачем все время приводить k к типу Char, если можно ее сразу описать, как Char?
3) посмотри на Random...

uses crt;
type
alarm = set of char;

var
i, j, n: integer;
a: alarm;

procedure ndfs (a:alarm);
var k:char;
begin
for k := #0 to #255 do
if (k in a) then write(k);
end;

begin
randomize;
for i := 1 to 15 do begin
repeat
n := 65 + random(26);
until not (chr(n) in a);
a := a + [chr(n)];
end;
ndfs(a);
end.
Clerick
Огромное спасибо, volvo, все работает!!! Только насчет k я не понял... mega_chok.gif mega_chok.gif mega_chok.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.