Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2013, 20:52   #1
olga_v95
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 12
По умолчанию Операции над множествами

Задано 5 множеств A, B, C, D, E перечисляемого типа. Получить множество Х, которое вычисляется по формуле 1, eсли условие выполняется, и по формуле 2, усли условие не выполняется.
Условие: (A*C)=(E+D)
Формула 1: A+B\C\D\E
Формула 2: A\B\C*D*E
olga_v95 вне форума Ответить с цитированием
Старый 11.02.2013, 21:09   #2
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Код:
   if ((A * C) = (E + D)) then
        X := A + B - C - D - E
   else
        X := A - B  - (C * D * E);
Например, так
Код:
var
   A, B, C, D, E, X : set of byte;
   i : byte;

BEGIN
   A := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
   B := [2, 4, 11];
   C := [1, 3, 5];
   D := [1];
   E := [3];

   if ((A * C) = (E + D)) then
        X := A + B - C - D - E
   else
        X := A - B  - (C * D * E);

   for i := 1 to 11 do
        if (i in X) then
                write(i, '; ');
   readln;
END.
Upd. Не знаю, правда, как Вам поможет полностью написанный код, если Вы не понимаете принципов... Я бы не рекомендовал использовать то, что я написал. Вдруг спросят, "почему от 1 до 11?" =)
Μολὼν λαβέ

Последний раз редактировалось alexander13; 11.02.2013 в 21:13.
alexander13 вне форума Ответить с цитированием
Старый 11.02.2013, 21:51   #3
olga_v95
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 12
По умолчанию

Спасибо за проделанную работу.
Не понимаю я другого принципа: как сделать, чтобы пользователь мог сам ввести эти множества.
olga_v95 вне форума Ответить с цитированием
Старый 11.02.2013, 22:04   #4
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

В чем проблема?
Код:
procedure set_in(var A : mySet);
var
   i : byte;
begin
//Какой-нибудь цикл
   ...
      readln(i);
      A := A + [i];
   ...
end;
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции над множествами(javascript) mashentsia2375 Помощь студентам 0 30.01.2013 20:45
Тип множество. Операции над множествами. mimit Помощь студентам 0 14.12.2012 23:56
MySQL операции над множествами GreAsk SQL, базы данных 4 29.01.2012 11:42
Операции над множествами britva666 Помощь студентам 2 23.06.2009 20:33