Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности: знаки препинания и операций отношения. Code: 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. Добавил еще символы '!' '<' '>' '?' ':' ';'