На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
> работа с множествами
    Хорошо, сейчас проверю.
      Цитата Булат Шакиров @

      пишет, что ошибка в выражении. курсор мигает на начале слова exclude
        Все правильно. И должно мигать. Exclude исключает один элемент из множества. Косяк мой. ;)

        вот так работает
        ExpandedWrap disabled
          type
            language=(basic, pascal, prolog, clipper, c, logo);
          var
            a,b,d:set of language;
          begin
            a:=[];
            d:=[];
            include(a,pascal);
            a:=a+[basic];
            d:=a+[logo];
            b:=(a+d)-a*d;
          end.


        Добавлено
        То есть нужно найти объединение множеств, затем из него вычесть пересечение.
        проверяйте на своих данных
          Цитата Булат Шакиров @
          То есть нужно найти объединение множеств, затем из него вычесть пересечение.
          проверяйте на своих данных

          пробую
          пока что то не выходит
            Бросьте сюда код
              Цитата Булат Шакиров @
              Бросьте сюда код

              ExpandedWrap disabled
                program gr;
                        uses crt;
                type s=(basik, paskal, prolog, cu, logo);
                     x=set of s;
                     yaz=array[1..5] of x;
                var i:s;
                    m:yaz;
                    g,t,t1,t2,t3,t4:x;
                    k,j:integer;
                begin
                     clrscr;
                     writeln('1 basic');
                     writeln('2 paskal');
                     writeln('3 prolog');
                     writeln('4 cu');
                     writeln('5 logo');
                     for j:=1 to 3 do
                         begin
                         t:=[];
                         write('‚введите номера для',j,'-го вуза ');
                         repeat
                               read(k);
                         case k of
                         1:i:=basik;
                         2:i:=paskal;
                         3:i:=prolog;
                         4:i:=cu;
                         5:i:=logo;
                         end;
                         t:=t+[i];
                         until
                              eoln;
                         m[j]:=t;
                         end;

              ну вот то, что я изначально начал писать
              вы про этот код?
                Да. Поковыряюсь. Проверяйте

                Добавлено
                ExpandedWrap disabled
                  program gr;
                    uses crt;
                  type
                    s=(basik, paskal, prolog, cu, logo);
                    x=set of s;
                    yaz=array[1..5] of x;
                   
                  var
                    i:s;
                    m:yaz;
                    g,t,t1,t2,t3,t4:x;
                    k,j:integer;
                    b:byte;
                  begin
                    clrscr;
                    writeln('1 basic');
                    writeln('2 paskal');
                    writeln('3 prolog');
                    writeln('4 cu');
                    writeln('5 logo');
                    writeln('любая клавиша следущий вуз');
                   
                    for j:=1 to 3 do
                      begin
                        t:=[];
                        write('введите номера для ',j,'-го вуза ');
                        repeat
                          read(k);
                          case k of
                            1:t:=t+[basik];
                            2:t:=t+[paskal];
                            3:include(t,prolog);
                            4:t:=t+[cu];
                            5:t:=t+[logo]
                   
                          else
                            break;
                          end;
                        until false;
                        b:=sizeof(t);
                        m[j]:=t;
                        t4:=(m[1]+m[2]+m[3])-(m[1]*m[2]*m[3]);
                      end;
                  end.
                Сообщение отредактировано: Булат Шакиров -
                  Цитата Булат Шакиров @
                  Проверяйте
                  не работает((( ошибку выдает
                  ExpandedWrap disabled
                    program gr;
                      uses crt;
                    type
                      s=(basik, paskal, prolog, cu, logo);
                      x=set of s;
                      yaz=array[1..5] of x;
                     
                    var
                      i:s;
                      m:yaz;
                      g,t,t1,t2,t3,t4:x;
                      k,j:integer;
                      b:byte;
                    begin
                      clrscr;
                      writeln('1 basic');
                      writeln('2 paskal');
                      writeln('3 prolog');
                      writeln('4 cu');
                      writeln('5 logo');
                      writeln('любая клавиша следущий вуз');
                     
                      for j:=1 to 3 do
                        begin
                          t:=[];
                          write('введите номера для ',j,'-го вуза ');
                          repeat
                            read(k);
                            case k of
                              1:t:=t+[basik];                   <------- здесь выдает ошибку, несоответствие типа.
                              2:t:=t+[paskal];
                              3:include(t,prolog);
                              4:t:=t+[cu];
                              5:t:=t+[logo]
                     
                            else
                              break;
                            end;
                          until false;
                          b:=sizeof(t);
                          m[j]:=t;
                          t4:=(m[1]+m[2]+m[3])-(m[1]*m[2]*m[3]);
                        end;
                    end.
                    Какую ошибку? Чего пишет? У меня в fpc отработал нормально.
                      Цитата Булат Шакиров @
                      Какую ошибку? Чего пишет? У меня в fpc отработал нормально.

                      смотрите в пред сообщении, я в программе пометил где ошибка

                      Добавлено
                      Цитата Булат Шакиров @
                      Какую ошибку? Чего пишет? У меня в fpc отработал нормально.

                      1:t:=t+[basik]; <------- здесь выдает ошибку, несоответствие типа.
                        Попробуйте
                        Include(t, basik);

                        Добавлено
                        Что за паскаль у вас? Какой-то странный. По виду вроде турбо, но с русским меню. Скачайте современный компилятор.
                          Цитата Булат Шакиров @
                          Попробуйте
                          Include(t, basik);

                          так запускается, но результат то на экран она не выводит
                          а нужно, чтобы вывелся результат, какие языки изучается только в одном вузе

                          Добавлено
                          Цитата Булат Шакиров @
                          Что за паскаль у вас? Какой-то странный. По виду вроде турбо, но с русским меню. Скачайте современный компилятор.

                          Dos Box: турбо паскаль. у меня
                          на винде 8 вроде только он работает просто
                            Элементы множества нельзя выводить на экран. Исхитриться можно так:
                            http://comp-science.narod.ru/Progr/mn.htm
                            Посмотрите процедуру print

                            Современые компилятор паскаля - freepascal.org
                              Цитата Булат Шакиров @
                              Элементы множества нельзя выводить на экран.

                              ну по заданию надо вывести
                              преподаватель же должен как то проверить
                              мы на паре просто рассматривали похожую задачу, там выводился результат на экран

                              Добавлено
                              Цитата Булат Шакиров @
                              Посмотрите процедуру print

                              хорошо. щас посмотрю

                              Добавлено
                              Цитата Булат Шакиров @
                              Элементы множества нельзя выводить на экран. Исхитриться можно так:
                              http://comp-science.narod.ru/Progr/mn.htm
                              Посмотрите процедуру print

                              что то все равно не получается(
                                Счас поковыряюсь

                                Добавлено
                                ExpandedWrap disabled
                                  program gr;
                                    uses crt;
                                  type
                                    s=(basik, paskal, prolog, cu, logo);
                                    names=array [s] of string[20];
                                    x=set of s;
                                    yaz=array[1..5] of x;
                                  const
                                    NamesStr : Names =('basik', 'paskal', 'prolog', 'cu', 'logo');
                                  var
                                    i:s;
                                    m:yaz;
                                    g,t,t1,t2,t3,t4:x;
                                    k,j:integer;
                                  begin
                                    clrscr;
                                    writeln('1 basic');
                                    writeln('2 paskal');
                                    writeln('3 prolog');
                                    writeln('4 cu');
                                    writeln('5 logo');
                                    writeln('любая клавиша следущий вуз');
                                   
                                    for j:=1 to 3 do
                                      begin
                                        t:=[];
                                        write('введите номера для ',j,'-го вуза ');
                                        repeat
                                          read(k);
                                          case k of
                                            1:include(t,basik);
                                            2:include(t,paskal);
                                            3:include(t,prolog);
                                            4:include(t,cu);
                                            5:include(t,logo)
                                   
                                          else
                                            break;
                                          end;
                                        until false;
                                        m[j]:=t;
                                        t4:=(m[1]+m[2]+m[3])-(m[1]*m[2]*m[3]);
                                      end;
                                      for i:=basik to logo do
                                        if i in t4 then
                                          writeln(NamesStr[(i)]);
                                  end.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0499 ]   [ 15 queries used ]   [ Generated: 28.04.24, 00:46 GMT ]