Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности: знаки препинания и операций отношения.
Код:
program hw5 ;
uses crt;
var
cur_symb,symb_of_end,j,y : char;
mn : set of char=['!'..'.'];
v_mnoj : set of char=['!'..'.'];
BEGIN
clrscr;
cur_symb:='!';
symb_of_end:='.';
mn:=[];
writeln('Введите символ указывающий на конец строки.');
readln(symb_of_end);
v_mnoj:=['!'..'.'];
writeln('Введите множество символов.');
while cur_symb<>symb_of_end do begin
read(cur_symb);
if cur_symb in v_mnoj then mn:=mn+[cur_symb];
end;
writeln('В множестве содержатся:');
writeln('знаки препинания:');
for j:='!' to '.' do
if j in mn then writeln(j);
END.
Вот исправленная и подправленная версия, думаю поймете что к чему
PHP код:
var
cur_symb, symb_of_end, y, j: char;
mn, v_mnoj, v_mnoj2: set of char;
begin
v_mnoj:=['!'..'.'];
v_mnoj2:=[':'..'?'];
cur_symb:=' ';
mn:=[];
{writeln('Введите символ указывающий на конецстроки.');}
readln(symb_of_end);
{writeln('Введите множество символов.');}
while cur_symb <> symb_of_end do
begin
read(cur_symb);
if (cur_symb in v_mnoj) or (cur_symb in v_mnoj2) then mn:=mn+[cur_symb]
end;
{writeln('В множестве содержатся:');
writeln('знаки препинания:');}
for j:='!' to '.' do
if j in mn then write(j,' ');
for j:=':' to '?' do
if j in mn then write(j,' ');
readln;
readln;
end.
P.S. Добавил еще символы '!' '<' '>' '?' ':' ';'
Последний раз редактировалось Soherox; 25.03.2010 в 17:16..