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

  1. Объявляются переменные a, s, sl, i, j, k, kg, kgmax, fin, fout, length.
  2. Открывается файл fin для чтения.
  3. Устанавливается имя выходного файла fout.
  4. Очищается выходной файл fout.
  5. Читается файл fin построчно.
  6. Каждая строка добавляется к переменной s.
  7. Переменная sl устанавливается равной пустой строке.
  8. Переменная j устанавливается равной 1.
  9. Для каждой цифры в строке s:
    • Если цифра меньше или равна 0, она игнорируется.
    • Если цифра находится в диапазоне от 0 до 9, переменная kg увеличивается на 1.
    • Иначе, переменная sl устанавливается равной текущей строке, а переменная i устанавливается равной 1.
    • Переменная k устанавливается равной 1.
    • Если kg больше kgmax, kgmax устанавливается равным kg, и kg сбрасывается на 0.
    • Если kg равно kgmax, выводится текущее слово, а также выводится имя выходного файла с текущим словом.
  10. Выводится общее количество слов с максимальным количеством цифр.
  11. Чтение файла завершается.
  12. Закрываются файлы fin и fout.

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


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

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

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