Определить число фрагментов слов, в которых буквы идут по алфавиту - C (СИ)

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

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

Вот такое задание имеется:

Дан текст. Определить число фрагментов слов, в которых буквы идут по-алфавиту.

Предлагается реализовать двумя методами: Хотелось бы узнать, можно ли такое задание осуществить через метод бинарного поиска? И если использовать метод последовательного поиска, то подразумевается просто последовательное сравнение символов по коду ASCII? (оба метода понятны с массивами чисел, а вот такое "алфавитное задание" немного ставит в тупик) спасибо заранее.

Решение задачи: «Определить число фрагментов слов, в которых буквы идут по алфавиту»

textual
Листинг программы
while (читаем символ)
   while (символ(1) == буква и ((следующий символ(2) == буква) и (следующий символ(2) == 'символ' + 1))
      буквы_по_алфавиту++
 
if (буквы_по_алфавиту > 2)
{
   фрагменты++
   буквы_по_алфавиту = 0
}

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

Код решает задачу подсчёта числа фрагментов слов, в которых буквы идут по алфавиту.

  1. В начале программы объявлены две переменные: — буквы_по_алфавиту — счётчик букв, которые идут по алфавиту; — фрагменты — счётчик фрагментов слов.
  2. В цикле while программа считывает каждый символ слова до тех пор, пока не встретит символ, не являющийся буквой.
  3. Для каждого считанного символа выполняется проверка: — если текущий символ равен предыдущему символу и следующий символ также равен предыдущему символу и следующей букве алфавита, то увеличивается счётчик буквы_по_алфавиту; — если счётчик буквы_по_алфавиту больше 2, то увеличивается счётчик фрагменты и сбрасывается счётчик буквы_по_алфавиту в ноль.
  4. После окончания цикла выполняется проверка: если счётчик фрагменты больше 2, то это значит, что в слове было больше двух фрагментов, в которых буквы идут по алфавиту.

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


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

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

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