Помощь - Поиск - Пользователи - Календарь
Полная версия: Множества, задача про 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
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.