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

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

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

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

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

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

процедура объявлена след. образом
procedure obyedinenie(first_set,second_set:si mvol; var tird_set:simvol);
Как правильно записать вызов процедуры obyedinуnie

Написать программу, в которой для конечных упорядоченных множеств реализовать все основные операции (Объединением,Пересечением,Разность ю,Симметрической разностью) с помощью алгоритма типа слияния . Допустима организация множеств в виде списка или в виде массива.
1. На вход подаются два упорядоченных множества A и B (вводятся с клавиатуры, элементы множеств – буквы латинского алфавита).
2. После ввода множеств выбирается требуемая операция (посредством текстового меню, вводом определенного символа в ответ на запрос – выбор по желанию автора).
3. Программа посредством алгоритма типа слияния определяет результат выбранной операции и выдает его на экран с необходимыми пояснениями. Одновременно с результатом на экране должны присутствовать и исходные множества.
4.Возврат на п.2 (выбор операции).
5. Завершение работы программы – из п.2 (например, по ESC).

Код:
Program dm1;
  uses crt;
 Type
  Simvol = set of 'a'..'z';
 Var
  A,B,C:simvol;
  i:integer;
  x,key:char;
  procedure vvod(name_set:string; var num_elem:integer; var one_set:simvol);
  var x:char;
  begin
          writeln('vvedite ',num_elem,' element mnojestva ',name_set);
          readln(x);
          if (x in one_set)
          then begin
                writeln(x,' uje soderjitsya v mnojestve',name_set);
          end
          else begin
                writeln(x,' pomeschon v mnojestvo',name_set);
                one_set:=one_set+[x];
                num_elem:=num_elem+1;
          end;
   end;
   procedure vyvod(name_set:string;var one_set:simvol);
   var x:char;
   begin
                writeln(' mnojestvo ',name_set);
                for x:='a' to 'z' do if x in A then write(x,' ');
                writeln;
   end;

   procedure obyedinenie(first_set,second_set:simvol; var third_set:simvol);
   begin
                third_set:=first_set+second_set;
   end;
   procedure perese4enie(first_set,second_set:simvol; var third_set:simvol);
   begin
                third_set:=first_set*second_set;
   end;
   procedure raznosty(first_set,second_set:simvol; var third_set:simvol);
   begin
                third_set:=first_set-second_set;
   end;
   procedure simmetr(first_set,second_set:simvol; var third_set:simvol);
   begin
                third_set:=(first_set-second_set)+(second_set-first_set);
   end;
   begin
                A:=[];
                B:=[];
                i:=1;
                repeat
                        vvod('A',i,A);
                until i>5;
                i:=1;
                repeat
                        vvod('B',i,B);
                until i>5;
                clrscr;
                vyvod('A',A);
                vyvod('B',B);
                repeat
                         clrscr;
                           writeln('===========================');
                           writeln('1: obyedinenie');
                           writeln('2: perese4enie');
                           writeln('3: simmetr. raznosty');
                           writeln('4: raznosty');
                           writeln('o: vyhod');
                           writeln('->');
                           repeat until keyPressed;
                           key:=readkey;
                           case key of
                           '1': obyedinenie(A,B); vyvod('C',C);end;
                           '2': perese4enie(A,B); vyvod('C',C);end;
                           '3': simmetr(A,B);     vyvod('C',C);end;
                           '4': raznosty(A,B);    vyvod('C',C);end;
                           end;
                    until ord(key)=ESC;
  end.
ai\ekcah^p вне форума Ответить с цитированием
Старый 25.06.2009, 10:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Зачем кросспостить?
Чем ответ в http://www.programmersforum.ru/showthread.php?t=55631
не устраивает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.06.2009, 10:22   #3
ai\ekcah^p
Форумчанин
 
Аватар для ai\ekcah^p
 
Регистрация: 03.05.2009
Сообщений: 112
По умолчанию

не выводиться (
ai\ekcah^p вне форума Ответить с цитированием
Старый 25.06.2009, 10:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А подумать хорошенько? Почитать учебники?
Вот смотри что ты написал:
Цитата:
'1': obyedinenie(A,B); vyvod('C',C);end;
А BEGIN где???
Вот так надо:
Код:
'1': begin obyedinenie(A,B,c);vyvod('c',C);end;
Во-вторых: ты пишешь:
Цитата:
for x:='a' to 'z' do if x in A then write(x,' ');
Но ведь в процедуру ты не A передаещь а параметр-переменную, давай уж соблюдать правильнописание:
Код:
 for x:='a' to 'z' do if x in one_set then write(x,' ');
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.06.2009, 11:21   #5
ai\ekcah^p
Форумчанин
 
Аватар для ai\ekcah^p
 
Регистрация: 03.05.2009
Сообщений: 112
По умолчанию

Спасибо огромное Stilet ! Теперь работает!
ai\ekcah^p вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вызвать ф-ыю? Natok Помощь студентам 4 28.05.2009 15:01
Вызвать процедуру нажатия кнопки Rusl92 Общие вопросы Delphi 1 23.11.2008 13:13
вызвать процедуру для tray.OnClick и закрузить в нее нужную иконку KORN Компоненты Delphi 8 02.10.2007 00:17
Как вызвать процедуру ??? Marat Помощь студентам 8 02.03.2007 15:11