J
jula939393
Здравствуйте!!!Помогите пожалуйста!!
Задание:Написать программу, которая считывает текст из файла и выводит его
на экран, заменив цифры от 0 до 9 на слова «ноль», «один», ..., «девять»,
начиная каждое предложение с новой строки.
Можно переписать с Паскаля:
Код:
USES CRT;
CONST Separators:set of char=['.','!','?']; {множ-во: разделители}
Digits:set of char=['0'..'9']; {множ-во: цифры}
sDigits:array['0'..'9'] of string=
('ноль','один','два','три','четыре','пять','шесть','семь','восемь','девять');
fname:string='file.txt';
VAR f:text;
snt:string;
c,ch:char;
flagSnt:boolean;
BEGIN
clrscr;
assign(f,fname);
{Открытие исходного файла:}
{$I-} reset(f); {$I+}
if (IOResult<>0) then begin
writeln('Ошибка! Невозможно открыть файл "',fname,'"'); exit;
end;
snt:=''; flagSnt:=false;
while not eof(f) do begin {цикл - пока не конец файла:}
read(f,c); {чтение символа}
if c in Digits then {если это цифра}
snt:=snt+sDigits[c] {заменить на соотв. слово}
else
snt:=snt+c;
if c in Separators then begin {если это разделитель}
if flagSnt then begin
flagSnt:=false; writeln(snt); {вывести предложение}
end;
snt:=''; {начать новое предложение}
end
else flagSnt:=true;
end;
close(f);
END.
Задание:Написать программу, которая считывает текст из файла и выводит его
на экран, заменив цифры от 0 до 9 на слова «ноль», «один», ..., «девять»,
начиная каждое предложение с новой строки.
Можно переписать с Паскаля:
Код:
USES CRT;
CONST Separators:set of char=['.','!','?']; {множ-во: разделители}
Digits:set of char=['0'..'9']; {множ-во: цифры}
sDigits:array['0'..'9'] of string=
('ноль','один','два','три','четыре','пять','шесть','семь','восемь','девять');
fname:string='file.txt';
VAR f:text;
snt:string;
c,ch:char;
flagSnt:boolean;
BEGIN
clrscr;
assign(f,fname);
{Открытие исходного файла:}
{$I-} reset(f); {$I+}
if (IOResult<>0) then begin
writeln('Ошибка! Невозможно открыть файл "',fname,'"'); exit;
end;
snt:=''; flagSnt:=false;
while not eof(f) do begin {цикл - пока не конец файла:}
read(f,c); {чтение символа}
if c in Digits then {если это цифра}
snt:=snt+sDigits[c] {заменить на соотв. слово}
else
snt:=snt+c;
if c in Separators then begin {если это разделитель}
if flagSnt then begin
flagSnt:=false; writeln(snt); {вывести предложение}
end;
snt:=''; {начать новое предложение}
end
else flagSnt:=true;
end;
close(f);
END.