Найти число таких групп, которые начинаются и заканчиваются одной и той же буквой - Pascal

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

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

Дан текст, хранящийся в текстовом файле f, каждый символ которого может быть малой буквой, цифрой или одним из знаков ‘+’, ‘-‘, ‘*’. Группой букв будем называть такую совокупность последовательно расположенных букв, которой непосредственно не предшествует и за которой непосредственно не следует буква. Аналогично определяется группа цифр и группа знаков. Найти число таких групп, которые начинаются и заканчиваются одной и той же буквой. Все эти группы вывести в новый файл g Помогите пожалуйста.
upp

Решение задачи: «Найти число таких групп, которые начинаются и заканчиваются одной и той же буквой»

textual
Листинг программы
const m = ['a'..'z'];
 
var f, g: text;
    i, n: integer;
    s, t: string;
 
begin
  assign(f, 'f.txt');
  reset(f);
  assign(g, 'g.txt');
  rewrite(g);
  n := 0;
  t := '';
  while not eof(f) do
    begin
      readln(f, s);
      s := s + ' ';
      for i := 1 to length(s) do
        if s[i] in m
          then t := t + s[i]
          else begin
            if (length(t) > 0) and (t[1] = t[length(t)])
              then begin
                inc(n);
                writeln(g, t)
              end;
            t := ''
          end
    end;
  close(f);
  close(g);
  write('Число групп, начинающихся и заканчивающихся одной и той же буквой: ', n);
  readln
end.

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

  1. В первой строке объявляются переменные m, f, g, i, n, s, t, которые будут использоваться в коде.
  2. В строке 11 задается имя файла для чтения и записи - 'f.txt'.
  3. Строка 12 задает имя файла для записи - 'g.txt'.
  4. Строки 13-14 считывают файл 'f.txt' до конца (до достижения конца файла).
  5. Строка 15 считывает одну строку из файла 'f.txt' и добавляет ее к переменной s.
  6. Строка 17 проверяет, содержит ли текущая строка s хотя бы одну букву из диапазона m.
  7. Если текущая строка s содержит хотя бы одну букву из m, то эта буква добавляется к переменной t.
  8. Если длина переменной t больше 0 и первая буква t равна последней (то есть t[1] = t[length(t)]), то увеличивается значение переменной n и записывается текущая строка t в файл 'g.txt'.
  9. После окончания чтения файла 'f.txt' и записи в файл 'g.txt' выполняется закрытие обоих файлов.
  10. Выводится сообщение 'Число групп, начинающихся и заканчивающихся одной и той же буквой: ' и значение переменной n.
  11. Запрашивается ввод с клавиатуры.

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


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

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

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