Определить число фрагментов слов, в которых буквы идут по алфавиту - C (СИ)
Формулировка задачи:
Вот такое задание имеется:
Дан текст. Определить число фрагментов слов, в которых буквы идут по-алфавиту.
Предлагается реализовать двумя методами: Хотелось бы узнать, можно ли такое задание осуществить через метод бинарного поиска? И если использовать метод последовательного поиска, то подразумевается просто последовательное сравнение символов по коду ASCII? (оба метода понятны с массивами чисел, а вот такое "алфавитное задание" немного ставит в тупик) спасибо заранее.Решение задачи: «Определить число фрагментов слов, в которых буквы идут по алфавиту»
textual
Листинг программы
while (читаем символ) while (символ(1) == буква и ((следующий символ(2) == буква) и (следующий символ(2) == 'символ' + 1)) буквы_по_алфавиту++ if (буквы_по_алфавиту > 2) { фрагменты++ буквы_по_алфавиту = 0 }
Объяснение кода листинга программы
Код решает задачу подсчёта числа фрагментов слов, в которых буквы идут по алфавиту.
- В начале программы объявлены две переменные:
—
буквы_по_алфавиту
— счётчик букв, которые идут по алфавиту; —фрагменты
— счётчик фрагментов слов. - В цикле
while
программа считывает каждый символ слова до тех пор, пока не встретит символ, не являющийся буквой. - Для каждого считанного символа выполняется проверка:
— если текущий символ равен предыдущему символу и следующий символ также равен предыдущему символу и следующей букве алфавита, то увеличивается счётчик
буквы_по_алфавиту
; — если счётчикбуквы_по_алфавиту
больше 2, то увеличивается счётчикфрагменты
и сбрасывается счётчикбуквы_по_алфавиту
в ноль. - После окончания цикла выполняется проверка: если счётчик
фрагменты
больше 2, то это значит, что в слове было больше двух фрагментов, в которых буквы идут по алфавиту.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д