Найти в строке слово, в котором повторяется а - Turbo Pascal

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

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

найти в строке слово в котором повторяется а

Решение задачи: «Найти в строке слово, в котором повторяется а»

textual
Листинг программы
uses crt;
var s,s1:string;
    i,j,k,q:integer;
begin
clrscr;
writeln('Введите строку из слов, разделенных пробелами');
readln(s);
s:=' '+s+' '; //добавим пробелы в начало и в конец для удобства
writeln('Слова с повторяющейся буквой а');
i:=1;
q:=0;
while i<length(s) do//идем по строке
if (s[i]<>' ')and(s[i-1]=' ') then //если не пробел, а перед ним пробел, новое слово
 begin
  s1:='';
  j:=i;
  while(j<=length(s))and(s[j]<>' ') do //составим его
   begin
    s1:=s1+s[j];
    j:=j+1;
   end;
  k:=0;
  for j:=1 to length(s1) do
  if s1[j]in['a','а'] then inc(k); //латинская и русская буквы а
  if k>1 then
   begin
    writeln(s1);
    q:=1;
   end;
  i:=i+length(s1);//перешагиваем через слово
 end
else i:=i+1; //пропускаем пробелы
if q=0 then write('Таких слов нет');
readln
end.

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

  1. Ввод строки из слов, разделенных пробелами.
  2. Добавление пробелов в начало и в конец строки для удобства обработки.
  3. Вывод слов с повторяющейся буквой а.
  4. Переменные:
    • i, j, k, q (целые числа)
    • s, s1 (строки)
  5. Цикл по всем символам строки.
  6. Проверка, является ли текущий символ пробелом, предшествующим не пробельному символу.
  7. Если условие выполняется, то начинается обработка нового слова.
  8. Строка s1 инициализируется пустой строкой.
  9. Цикл по всем символам нового слова.
  10. Каждый символ добавляется в строку s1.
  11. Переменная k инициализируется нулем.
  12. Цикл по всем символам строки s1.
  13. Проверка, является ли текущий символ а или А.
  14. Если условие выполняется, то увеличивается значение переменной k.
  15. Если значение переменной k больше 1, то выводится текущее слово и устанавливается значение переменной q равным 1.
  16. Переменная i увеличивается на длину текущего слова.
  17. Если значение переменной q равно 0, то выводится сообщение Таких слов нет.
  18. Ввод с клавиатуры.

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


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

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

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