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

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

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

> Задача на мн-ва
сообщение
Сообщение #1


Новичок
*

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

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


type=(Вася,Володя,Ира,Лида,Марина,Миша)
гости=set of имя
группа=array[имя] of гости;
Описать логическую функцию Везде(ГР) определяющую, есть в группе Гр хотя бы один человек, побывавшийв гостях у всех остальных из Группы(ГР[х]) мн-во людей побывавших в гостях у человека с именем x; xне принадлежитГР[х];

Бред какой-то ,а не задача. (
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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