Паскаль АВС множества., Выполнить операции объединения, разности, пересечения с разными типами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Паскаль АВС множества., Выполнить операции объединения, разности, пересечения с разными типами |
swe-4a |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
Не могу составить программу вариантов ни каких!!! Все что пробовала написать компилирует с кучей ошибок о несовместимости типов. Помогите составить программу, пожайлуста!
Множества букв заполнены следующим образом: множество 1-цифрами; множество 2 – знаками препинания; множество D3 – буквами. Выполнить операции объединения, разности, пересечения. Сообщение отредактировано: swe-4a - |
TarasBer |
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Все что пробовала написать
А ты покажи сюда, мы скажем, как надо сделать, чтобы скомпилировалось. -------------------- |
Lapp |
Сообщение
#3
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Все что пробовала написать кампилирует с кучей ошибок о несовместимости типов. Показывай. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
swe-4a |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
Показывай. вот этот позор...program prim; |
TarasBer |
Сообщение
#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 |
Сообщение
#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 |
Сообщение
#7
|
Гость |
Что "не то"? То, что ты пытаешься зачем--то СЧИТАТЬ dr после того, как его заполнила? Не то, не надо этого делать. Вывести? По одному элементу (от char(0) до char (255)) проверяй на вхождение, сразу множества не выводятся...
|
TarasBer |
Сообщение
#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 |
Сообщение
#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 - |
TarasBer |
Сообщение
#10
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
И что ты хочешь сказать это строкой? Зачем она вообще? Убери её вообще.
-------------------- |
swe-4a |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
И что ты хочешь сказать это строкой? Зачем она вообще? Убери её вообще. Я ничего не хочу сказать вот пример из лекций на основании которого я должна научиться понимать как писать программы подобного содержания.2.Операции над множествами. Множества чисел заполнены следующим образом: множество D1- четными числами 2, 4, 6, 8; множество D2 – числами 0,1,2,3,5; множество D3 – нечетными числами 1, 3, 5, 7, 9. Выполнить операции объединения, разности, пересечения. Программа выглядит так: program prim;и все! как выводить результат??? хорошо убираю эту злостную строку...но как получить ответ? |
volvo |
Сообщение
#12
|
Гость |
Writeln ('obedinenie');, а то ты сначала все действия сделаешь, а потом одно и то же (результат последнего действия) три раза выведешь... |
TarasBer |
Сообщение
#13
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> вот пример из лекций
> dr:=[ ]; > d:=[ ];// первая ошибка здесь, пишет "ожидалась переменная" Чувствуешь разницу? -------------------- |
swe-4a |
Сообщение
#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 - |
TarasBer |
Сообщение
#15
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Да, переменную c тебе надо завести отдельно:
c: char; Она нужна в качестве счётчика цикла, для того, чтобы перебрать все элементы множества. -------------------- |
swe-4a |
Сообщение
#16
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
ВОТ ТАК РАБОТАЕТ. Это правильно?
program prim; |
TarasBer |
Сообщение
#17
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Ну вроде да. Только смысла задания я не пойму, множества же не пересекаются никак.
-------------------- |
swe-4a |
Сообщение
#18
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Женский Репутация: 0 |
Да, переменную c тебе надо завести отдельно: c: char; Она нужна в качестве счётчика цикла, для того, чтобы перебрать все элементы множества. да! уже до меня дошло! ОНА РАБОТАЕТ! НО откуда знать все эти тонкости простому смертному, начинающему, в двух учебниках которые есть на руках этого нет..или я просто не умею читать..... Добавлено через 4 мин. Ну вроде да. Только смысла задания я не пойму, множества же не пересекаются никак. Спасибо огромное всем кто мне помогает! Дистанционное образование не дается мне легко((. Я тоже не поняла зачем искать пересечения в том, где его не может быть. Дальше задания еще страшней....так что я тут не последний раз. Еще раз спасибо!))) |
Текстовая версия | 4.05.2024 21:58 |