Text56. Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без повторений). Символы располагать в порядке убывания их кодов.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
program Text56; var F_in: Text; F_out: file of Char; Name:string; C:Char; Punctuation,Pout : set of char; i:integer; begin Write('File In name: '); Readln(Name); Assign(F_in,Name); Reset(F_in); Write('File Out name: '); Readln(Name); Assign(F_out,Name); Punctuation := ['’','`','[',']','(',')','{','}',':',',','-','!','.','?','"','<','>',';',' ']; Pout:=[]; While not eof(F_in) do begin While not eoln(F_in) do begin Read(F_in,C); if (C in Punctuation) then begin Punctuation:=Punctuation-[C]; Pout:=Pout+[c]; end; end; Readln(F_in); end; Close(F_in); Rewrite(F_out); for i:=255 downto 0 do if (chr(i) in Pout) then begin C:=chr(i); Write(F_out,C); end; Close(F_out); end. |
Другие задачи из раздела Text можно посмотреть здесь.
Комментарии: