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

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

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

 
 Ответить  Открыть новую тему 
> Задачка на множества
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

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


Надо задать с клавиатуры 3 множества целых чисел, ввод элементов множества продолжать до нажатия клавиши z. unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


А в чем проблема-то? Как ввести с клавиатуры? Или как занести элемент во множество?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

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


не могу сообразить тип множества, вот смотри целые числа эт byte, а вот до клавиши z продолжать ввод элементов эт char, вот и проблема в несоответствии типов( и мозгов не хватает((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

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

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


Читаешь символ. Если 'z' то выходишь из цикла, если нет, проверяешь на символы '0'..'9' потом преобразуешь в число процедурой val и добавляешь в множество(еще сделай проверку на диапазон)

Сообщение отредактировано: Client -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

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


Цитата(Client @ 25.05.2009 20:13) *

Читаешь символ. Если 'z' то выходишь из цикла, если нет, проверяешь на символы '0'..'9' потом преобразуешь в число процедурой val и добавляешь в множество(еще сделай проверку на диапазон)

ну эт типа while true do begin
if t='z' then breake else
if t='0' or t='1' or t='2' or t='3' or t='4' or t='5' or t='6' or t='7' or t='8' or t='9' then x1:=x1+[t];
так??
А дальше как?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

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

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


repeat
read(ch);
if ch in['0'..'9'] then begin
val(ch,a,kod_error);
mn:=mn+[a] //mn:set of byte
end;
until ch='z'
У меня паскаля нету, так что проверяй, писал тут
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

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


Спасибо) Щас проверю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
   if ch in['0'..'9'] then begin
val(ch,a,kod_error);
mn:=mn+[a] //mn:set of byte
end;
Совершенно аналогично:
if ch in['0'..'9'] then mn := mn + [Ord(ch) - Ord('0')];
да еще и переменная не нужна... Только сдается мне - это не совсем то, что надо по заданию. Так можно вводить только числа 0 .. 9, двухзначные и трехзначные - уже выпадают, хотя во множестве Byte-ов они могут присутствовать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Профи
****

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

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


Можно ввести как строку, удалить все что стоит после буквы z и выделять группы цифр из строки, переводя в число и удаляя их из строки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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