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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2009, 15:50   #1
ai\ekcah^p
Форумчанин
 
Аватар для ai\ekcah^p
 
Регистрация: 03.05.2009
Сообщений: 112
По умолчанию Антисимметричность и транзитивность

Здраствуйте! Помогите разобраться с дискретной математикой. Написал прогу , а препод в ответ ->Антисимметричность и транзитивность определяются неверно.
Исправьте процедуры плз.

Код:
 
 procedure antisimmetr( mass:vector);
     var Res: boolean;
     begin
      writeln;
      write('raschet antisimmetrichnosti: ');
      Res := True;

            for i:=1 to r do
             for j:= 1 to r do
                   if i<>j
                   then if mass[i,j] = mass[j,i]
                        then Res := False;

         if Res
         then writeln('binarnoe otnoshenie antisimmetrichno')
         else writeln('binarnoe otnoshenie NE antisimmetrichno');
          end;

 procedure tranzityvnost1( mass:vector);
     var Res: boolean;
     begin
      writeln;
      write('raschet tranzityvnosti: ');
      Res := True;

               for i:=1 to r-2 do
                for j:= i+1 to r-1 do
                 for k:= j+1 to r do
                          if not ((mass[i,j] = mass[j,k])
                             and (mass[i,j] = mass[i,k]))
                          then Res := False;

           if Res
           then writeln('binarnoe otnoshenie tranzityvno')
           else writeln('binarnoe otnoshenie NE tranzityvno');
                end;

     procedure tranzityvnost2( mass:vector);
     var Res: boolean;
     begin
      writeln;
      write('raschet tranzityvnosti(2): ');
      Res := True;

                for i:=1 to r do
                 for j:= 1 to r do
                  for k:= 1 to r do
                             if (i<>j) and (j<>k) and (i<>k)
                             then if not ((mass[i,j] = mass[j,k])
                                     and (mass[i,j] = mass[i,k]))
                                  then Res := False;

          if Res
          then writeln('binarnoe otnoshenie tranzityvno')
          else writeln('binarnoe otnoshenie NE tranzityvno');
                 end;

Последний раз редактировалось ai\ekcah^p; 19.11.2009 в 15:53.
ai\ekcah^p вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск