Считать из внешнего файла только числа - Pascal

Узнай цену своей работы

Формулировка задачи:

Создать текстовый файл,состоящий из строки символов. Считать из внешнего файла только числа и найти наибольшее. Заранее спасибо.
Люди помогите! Нужно срочно!
Прошу помощи в решении!

Решение задачи: «Считать из внешнего файла только числа»

textual
Листинг программы
uses crt;
const cf=['0'..'9'];
var nf,s,s1,max:string;
    f:text;
    n,i,j,k:byte;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);
nf:=nf+'.txt';
assign(f,nf);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',nf);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
readln(f,s);
writeln(s);
writeln('Числа в строке:');
i:=1;max:='0';
while i<=length(s) do
if (s[i] in cf)and (not(s[i-1]in cf)or(i=1)) then{если цифра, а перед ней не цифра, или она первая}
 begin
  k:=i;s1:='';
  while (s[k] in cf)and(k<=length(s))do {пока цифры и не конец строки}
   begin
    s1:=s1+s[k];{составляем строку-число}
    k:=k+1;{идем вперед}
   end;
  write(s1,' ');
  if s1>max then max:=s1;{если больше всех, это макс.}
  i:=i+length(s1);{перепрыгиваем}
 end
else i:=i+1;{иначе идем вперед}
writeln;
write('Максимальное число=',max);
readln
end.

Объяснение кода листинга программы

  1. Объявление переменных: nf, s, s1, max (строки), f (текстовый файл), n, i, j, k (байты).
  2. Открытие файла с помощью функции assign и проверка его открытия с помощью функции IOResult.
  3. Чтение строки из файла в переменную s с помощью функции readln(f,s).
  4. Вывод строки s.
  5. Установка начального значения переменной max равным '0'.
  6. Цикл while для обработки каждой цифры в строке s.
  7. Проверка условия (s[i] in cf) and (not(s[i-1] in cf) or (i=1)).
  8. Если условие выполняется, то начинается обработка числа, включая его чтение и добавление в переменную s1.
  9. Если число в переменной s1 больше максимального числа, то обновляется значение переменной max.
  10. После завершения цикла выводится максимальное число.
  11. Запрос на ввод с помощью функции readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы