Найти все слова, в которых количество цифр максимально - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста с задачей. Всю голову сломал себе.
Дан текстовый файл f, каждая строка которого состоит из слов, разделённых одним и более пробелами. Найти все слова, в которых количество цифр максимально. Записать их в новый файл g.
Решение задачи: «Найти все слова, в которых количество цифр максимально»
textual
Листинг программы
- uses
- crt;
- var
- a: array [1..10] of string;
- s, sl: string;
- i, j, k, kg, kgmax: integer;
- fin,fout:text;
- begin
- assign(fin,'fin.txt');
- assign(fout,'fout.txt');
- reset(fin);
- rewrite(fout);
- while not eof(fin) do
- begin
- readln (fin,s);
- s:=s+' ';
- sl:='';
- j:=1;
- for i:=1 to length (s) do
- if s[i]<>' ' then
- begin
- sl:=sl+s[i];
- if s[i] in ['0'..'9'] then
- inc(kg);
- end
- else
- begin
- a[j]:=sl;
- inc(j);
- sl:='';
- inc(k);
- if kg>kgmax then
- begin
- kgmax:=kg;
- kg:=0;
- end
- else kg:=0;
- end;
- writeln ('Максимальное количество цифр = ', kgmax);
- if kgmax>0 then
- begin
- writeln ('содержат следующие слова');
- for j:=1 to k do
- begin
- kg:=0;
- sl:=a[j];
- for i:=1 to length(sl) do
- if sl[i] in ['0'..'9'] then
- inc(kg);
- if kg=kgmax then
- begin
- writeln(a[j]);
- writeln(fout,a[j]);
- end;
- end;
- end;
- end;
- readln;
- close(fin);
- close(fout);
- end.
Объяснение кода листинга программы
Этот код написан на Turbo Pascal и предназначен для поиска слов с максимальным количеством цифр. Он читает текстовый файл, разбивает каждое слово на отдельные цифры, подсчитывает количество цифр в каждом слове и сохраняет эти слова в массиве. Затем он выводит список слов с максимальным количеством цифр. Вот список действий, представленных в коде, с соответствующими номерами:
- Объявляются переменные
a
,s
,sl
,i
,j
,k
,kg
,kgmax
,fin
,fout
,length
. - Открывается файл
fin
для чтения. - Устанавливается имя выходного файла
fout
. - Очищается выходной файл
fout
. - Читается файл
fin
построчно. - Каждая строка добавляется к переменной
s
. - Переменная
sl
устанавливается равной пустой строке. - Переменная
j
устанавливается равной 1. - Для каждой цифры в строке
s
:- Если цифра меньше или равна 0, она игнорируется.
- Если цифра находится в диапазоне от 0 до 9, переменная
kg
увеличивается на 1. - Иначе, переменная
sl
устанавливается равной текущей строке, а переменнаяi
устанавливается равной 1. - Переменная
k
устанавливается равной 1. - Если
kg
большеkgmax
,kgmax
устанавливается равнымkg
, иkg
сбрасывается на 0. - Если
kg
равноkgmax
, выводится текущее слово, а также выводится имя выходного файла с текущим словом.
- Выводится общее количество слов с максимальным количеством цифр.
- Чтение файла завершается.
- Закрываются файлы
fin
иfout
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д