Найти наибольшее количество цифр идущих подряд в файле - Turbo Pascal
Формулировка задачи:
Для строки сделал
Надо сделать, чтоб искал в файле
Знаю, что надо добавить что то типа
но куда и …
Просьба HELP!!!
Решение задачи: «Найти наибольшее количество цифр идущих подряд в файле»
textual
Листинг программы
var
cmax, c, i: integer;
s: String;
F: text;
d: string;
begin
writeln('введите имя файла');
readln(d);
d:='C:\Users\Desktop\'+d+'.txt';
cmax := 0;
c := 0;
Assign(F, d);
reset(F);
while not (eof(f)) do
begin
readln(F, s);
for i := 1 to length(s) do
if (s[i] >= '0') and (s[i] <= '9') then
c := c + 1
else
begin
if c > cmax then
cmax := c;
c := 0;
end;
if c > cmax then
cmax := c;
end;
Writeln('Максимальное количество цифр, идущих подряд - ', cmax);
Readln;
end.
Объяснение кода листинга программы
- Пользователю предлагается ввести имя файла.
- Имя файла записывается в переменную
dс префиксомC:\Users\Desktop\. - Переменная
cmaxинициализируется нулем. - Переменная
cинициализируется нулем. - Переменная
Fприсваивает значениеd. - Режим чтения устанавливается на
f, чтобы прочитать файл. - Запускается цикл
while not (eof(f))до тех пор, пока не будет достигнут конец файла. - В каждой итерации цикла считывается строка из файла в переменную
s. - Для каждого символа в строке
sвыполняется проверка: если символ является цифрой от 0 до 9, то увеличивается значение переменнойcна единицу. - Если значение
cбольше значенияcmax, тоcmaxобновляется на значениеc. - После завершения каждой итерации цикла, если значение
cбольше значенияcmax, тоcmaxобновляется на значениеc. - По завершении чтения файла выводится сообщение с максимальным количеством цифр, идущих подряд.
- Программа завершается, ожидая ввода пользователя.