Последний раз редактировалось Anka969 17.05.2011, 22:40, всего редактировалось 3 раз(а).
program Project2; {$R+,I+,Q+} {$APPTYPE CONSOLE}
uses SysUtils;
Const ZRB=['À'..'ß','¨'];
Type Mn=set of char;
Var c, nach,beg,bukv: char; w1,w2: set of char; posl: Boolean; a: array [1..10000] of Mn; b: array[1..10000] of char; s: string; i,k,toch: byte;
begin {Вычислить значение выражения, состоящего из символьных множеств, содержащих только заглавные русские буквы, и знаков операций "+","-","*". Апострофы при вводе и выводе не задаются. Например: ‘[Б..Н,Р..Х,Ы..Э]*[В,Г,Д,З..К,Ц..Я]-[М..Ф,Ч..Ь]’ = ‘[Б..Д,Э,З..К]’} Reset(input,'input.txt'); Rewrite(output,'output.txt'); While not SeekEof do Begin Read(c); If ord(c)=93 then w1:=w1+[bukv]; If ord(c)=91 then w1:=[]; // åñëè ñ ÿâë-ñÿ - [ If (c in ZRB) and (toch=2) then Begin nach:=bukv; bukv:=#0; For beg:= nach to c do w1:=w1+[beg]; toch:=0; End Else If c in ZRB then bukv:=c; If (ord(c)=44) and (toch<>2) then Begin // åñëè ñ ÿâë-ñÿ - , w1:=w1+[bukv]; bukv:=#0; End; If ord(c)=46 then toch:=toch+1; // åñëè ñ ÿâë-ñÿ - . End; For i:=192 to 223 do if Chr(i) in w1 then Write(chr(i)+' ')
end.
а на выходе - дикое не пойми что.(
|