Найти все слова, в которых количество цифр максимально - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д