Text54. Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без повторений). Символы располагать в порядке их первого появления в тексте.
Решение:
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 |
program Text54; var F_in: Text; F_out: file of Char; Name:string; C:Char; Punctuation : set of char; begin Write('File In name: '); Readln(Name); Assign(F_in,Name); Reset(F_in); Write('File Out name: '); Readln(Name); Assign(F_out,Name); Rewrite(F_out); Punctuation := ['’','`','[',']','(',')','{','}',':',',','-','!','.','?','"','<','>',';',' ']; 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]; Write(F_out,C); end; end; Readln(F_in); end; Close(F_in); Close(F_out); end. |
Другие задачи из раздела Text можно посмотреть здесь.
задача ошибку выдает
Поясню, мы здесь общаемся ещё параллельно в личке, и задача выдаёт ошибку, примерно:
Ошибка времени выполнения Файл ‘C:\PABCWork.NET\2’ не найден.
Здесь возможен следующий вариант развития событий.
Если имя файла в переменной Name на 11 строчке ввести просто «2», то программа будет искать этот файл в «текущей дирректории»… Кто такая текущая дирректория известно только программе, и подозреваю, что в данном варианет это «C:\PABCWork.NET\» Вариант как это обойти, написать польный путь до файла… ну или положить файл в данную дирректорию.