Задачка на множества |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задачка на множества |
Buka |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Репутация: 0 |
Надо задать с клавиатуры 3 множества целых чисел, ввод элементов множества продолжать до нажатия клавиши z.
|
Ozzя |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
А в чем проблема-то? Как ввести с клавиатуры? Или как занести элемент во множество?
|
Buka |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Репутация: 0 |
не могу сообразить тип множества, вот смотри целые числа эт byte, а вот до клавиши z продолжать ввод элементов эт char, вот и проблема в несоответствии типов( и мозгов не хватает((
|
Client |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Читаешь символ. Если 'z' то выходишь из цикла, если нет, проверяешь на символы '0'..'9' потом преобразуешь в число процедурой val и добавляешь в множество(еще сделай проверку на диапазон)
Сообщение отредактировано: Client - |
Buka |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Репутация: 0 |
Читаешь символ. Если '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]; так?? А дальше как? |
Client |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
repeatУ меня паскаля нету, так что проверяй, писал тут |
Buka |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 15 Пол: Женский Репутация: 0 |
Спасибо) Щас проверю
|
volvo |
Сообщение
#8
|
Гость |
Цитата if ch in['0'..'9'] then begin if ch in['0'..'9'] then mn := mn + [Ord(ch) - Ord('0')];да еще и переменная не нужна... Только сдается мне - это не совсем то, что надо по заданию. Так можно вводить только числа 0 .. 9, двухзначные и трехзначные - уже выпадают, хотя во множестве Byte-ов они могут присутствовать... |
Client |
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Можно ввести как строку, удалить все что стоит после буквы z и выделять группы цифр из строки, переводя в число и удаляя их из строки
|
Текстовая версия | 12.01.2025 12:47 |