Паскаль АВС множества., Выполнить операции объединения, разности, пересечения с разными типами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Паскаль АВС множества., Выполнить операции объединения, разности, пересечения с разными типами |
swe-4a |
8.02.2011 13:04
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
Не могу составить программу вариантов ни каких!!! Все что пробовала написать компилирует с кучей ошибок о несовместимости типов. Помогите составить программу, пожайлуста!
Множества букв заполнены следующим образом: множество 1-цифрами; множество 2 – знаками препинания; множество D3 – буквами. Выполнить операции объединения, разности, пересечения. Сообщение отредактировано: swe-4a - 8.02.2011 17:18 |
TarasBer |
8.02.2011 13:15
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Все что пробовала написать
А ты покажи сюда, мы скажем, как надо сделать, чтобы скомпилировалось. -------------------- |
Lapp |
8.02.2011 13:17
Сообщение
#3
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Все что пробовала написать кампилирует с кучей ошибок о несовместимости типов. Показывай. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
swe-4a |
8.02.2011 14:14
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
Показывай. вот этот позор...program prim; |
TarasBer |
8.02.2011 14:28
Сообщение
#5
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> d1: Set of real;// chislo
> d2: Set of char;//simvol > d3: Set of string;// bukva Ошибка компиляции тут, да? > Множества букв заполнены следующим образом Значит надо работать только с множествами букв. d1, d2, d3: set of char; Одного типа, иначе объединять и пересекать нельзя. > множество 1-цифрами; множество 2 – знаками препинания; множество D3 – буквами d1 := ['0' .. '9']; d2 := ['.', ',', '''', '"', ';']; d3 := ['A' .. 'Z', 'a' .. 'z']; А дальше так же делаешь. -------------------- |
swe-4a |
8.02.2011 16:20
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
> d1: Set of real;// chislo > d2: Set of char;//simvol > d3: Set of string;// bukva Ошибка компиляции тут, да? > Множества букв заполнены следующим образом Значит надо работать только с множествами букв. d1, d2, d3: set of char; Одного типа, иначе объединять и пересекать нельзя. > множество 1-цифрами; множество 2 – знаками препинания; множество D3 – буквами d1 := ['0' .. '9']; d2 := ['.', ',', '''', '"', ';']; d3 := ['A' .. 'Z', 'a' .. 'z']; А дальше так же делаешь. program prim; |
volvo |
8.02.2011 16:22
Сообщение
#7
|
Гость |
Что "не то"? То, что ты пытаешься зачем--то СЧИТАТЬ dr после того, как его заполнила? Не то, не надо этого делать. Вывести? По одному элементу (от char(0) до char (255)) проверяй на вхождение, сразу множества не выводятся...
|
TarasBer |
8.02.2011 16:25
Сообщение
#8
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Говори хотя бы, на какой строчке ошибка, а то угадывать тяжело.
>Writeln ('obedinenie'); >readln(dr); >Writeln ('raznost'); >readln(dr); >Writeln ('peresechenie'); >readln(dr); Ошибка тут? Ну хотя бы так сделай: for c := #0 to #255 do if c in dr then write('''', c, ''', '); -------------------- |
swe-4a |
8.02.2011 16:29
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
program prim; type d=set of char; var dr,d1, d2, d3:d; Begin d:=[ ];// первая ошибка здесь, пишет "ожидалась переменная" d1 := ['0' .. '9']; d2 := ['.', ',', '''', '"', ';']; d3 := ['A' .. 'Z', 'a' .. 'z']; dr:=d1+d2; dr:=dr+d3; dr:=dr-d2; dr:=dr*d1; Writeln ('obedinenie'); readln(dr); Writeln ('raznost'); readln(dr); Writeln ('peresechenie'); readln(dr); end. Вывести? По одному элементу (от char(0) до char (255)) проверяй на вхождение, сразу множества не выводятся... А как выводятся? в единственном примере учебного материала вообще вывод не показан((( может есть где в инете рассмотренный подобный пример. Но я не нашла. Сообщение отредактировано: swe-4a - 8.02.2011 16:32 |
TarasBer |
8.02.2011 16:32
Сообщение
#10
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
И что ты хочешь сказать это строкой? Зачем она вообще? Убери её вообще.
-------------------- |
swe-4a |
8.02.2011 16:36
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
И что ты хочешь сказать это строкой? Зачем она вообще? Убери её вообще. Я ничего не хочу сказать вот пример из лекций на основании которого я должна научиться понимать как писать программы подобного содержания.2.Операции над множествами. Множества чисел заполнены следующим образом: множество D1- четными числами 2, 4, 6, 8; множество D2 – числами 0,1,2,3,5; множество D3 – нечетными числами 1, 3, 5, 7, 9. Выполнить операции объединения, разности, пересечения. Программа выглядит так: program prim;и все! как выводить результат??? хорошо убираю эту злостную строку...но как получить ответ? |
volvo |
8.02.2011 16:37
Сообщение
#12
|
Гость |
Writeln ('obedinenie');, а то ты сначала все действия сделаешь, а потом одно и то же (результат последнего действия) три раза выведешь... |
TarasBer |
8.02.2011 16:43
Сообщение
#13
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> вот пример из лекций
> dr:=[ ]; > d:=[ ];// первая ошибка здесь, пишет "ожидалась переменная" Чувствуешь разницу? -------------------- |
swe-4a |
8.02.2011 16:45
Сообщение
#14
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
[quote name='TarasBer' post='152812' date='8.02.2011 16:43']
> вот пример из лекций > dr:=[ ]; > d:=[ ];// первая ошибка здесь, пишет "ожидалась переменная" Чувствуешь разницу? [/quote] да.. Добавлено через 2 мин. Ошибка тут? Ну хотя бы так сделай: for c := #0 to #255 do if c in dr then write('''', c, ''', '); [/quote] откуда берется for c := ??? это дополнительная переменная? зачем? не пойму!! Сообщение отредактировано: swe-4a - 8.02.2011 16:49 |
TarasBer |
8.02.2011 16:58
Сообщение
#15
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Да, переменную c тебе надо завести отдельно:
c: char; Она нужна в качестве счётчика цикла, для того, чтобы перебрать все элементы множества. -------------------- |
swe-4a |
8.02.2011 16:59
Сообщение
#16
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
ВОТ ТАК РАБОТАЕТ. Это правильно?
program prim; |
TarasBer |
8.02.2011 17:02
Сообщение
#17
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Ну вроде да. Только смысла задания я не пойму, множества же не пересекаются никак.
-------------------- |
swe-4a |
8.02.2011 17:05
Сообщение
#18
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
Да, переменную c тебе надо завести отдельно: c: char; Она нужна в качестве счётчика цикла, для того, чтобы перебрать все элементы множества. да! уже до меня дошло! ОНА РАБОТАЕТ! НО откуда знать все эти тонкости простому смертному, начинающему, в двух учебниках которые есть на руках этого нет..или я просто не умею читать..... Добавлено через 4 мин. Ну вроде да. Только смысла задания я не пойму, множества же не пересекаются никак. Спасибо огромное всем кто мне помогает! Дистанционное образование не дается мне легко((. Я тоже не поняла зачем искать пересечения в том, где его не может быть. Дальше задания еще страшней....так что я тут не последний раз. Еще раз спасибо!))) |
Текстовая версия | 28.04.2024 13:29 |