Задача на мн-ва |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на мн-ва |
Caries |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: 0 |
type=(Вася,Володя,Ира,Лида,Марина,Миша)
гости=set of имя группа=array[имя] of гости; Описать логическую функцию Везде(ГР) определяющую, есть в группе Гр хотя бы один человек, побывавшийв гостях у всех остальных из Группы(ГР[х]) мн-во людей побывавших в гостях у человека с именем x; xне принадлежитГР[х]; Бред какой-то ,а не задача. ( |
volvo |
Сообщение
#2
|
Гость |
На самом деле бред, но если заменить кириллицу на латинские символы (чтобы можно было проверить результат) это будет выглядеть примерно так:
Код type name = (vasya, volodya, ira, lida, marina, misha); guests = set of name; group = array[name] of guests; const _group: group = ([volodya, misha], { Володя и Миша были в гостях у Васи (№1 в списке имен) } [vasya, lida, ira, misha], { и т.д. } [misha, vasya, marina], [misha, vasya, ira], [volodya{misha}], [vasya, ira]); function vezde(gr: group): boolean; var i, j: name; res: boolean; was: set of name; begin res := false; { Перебор всех студентов группы (I - очередной студент) } for i := low(name) to high(name) do begin { was будет содержать всех, у кого в гостях был I } was := []; for j := low(name) to high(name) do { Если I был в гостях у J, то добавить его к списку } if (i in gr[j]) then was := was + [j]; { если список тех, у кого в гостях побывал I (вместе с самим I) содержит всех учащихся группы, это значит, что I побывал в гостях у всех остальных. Только в этом случае Res будет равно True } res := res or ((was + [i]) = [low(name) .. high(name)]) end; { возвращаем результат } vezde := res end; begin writeln(vezde(_group)) end. |
Текстовая версия | 11.05.2024 3:32 |