IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Множества, задача про Random-заполнение, Проблемы...
сообщение
Сообщение #1


студент..
***

Группа: Пользователи
Сообщений: 287
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  2  +


Народ выручайте кто может!!!
Необходимо решить следущую задачу: составить прогу, которая заполняет множество 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 -


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


студент..
***

Группа: Пользователи
Сообщений: 287
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  2  +


Огромное спасибо, volvo, все работает!!! Только насчет k я не понял... mega_chok.gif mega_chok.gif mega_chok.gif


--------------------
После дождя обязательно выглянет солнце)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.09.2025 20:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name