Помогите, пожалуйста, решить задачу по информатике (с объяснениями):
Задача 3.
Экранная клавиатура КПК позволяет вводить символы русского и английского алфавита прикосновением пера к экрану. Для переключения между заглавными и строчными буквами используется клавиша Shift, нажатие на которую приводит к смене режима на время ввода одной следующей буквы, и клавиша Caps Lock для постоянной смены режима. Для смены алфавита с русского языка на английский используется клавиша au (клавиша находится между Ctrl и Alt). В начальном состоянии клавиатура находится в режиме строчных русских букв.
 
Требуется написать программу, выводящую минимальную длину
последовательности прикосновений пера для набора заданной строки.
Технические требования.
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Формат входных данных:
В единственной строке входного файла содержится строка длиной не более 50 скатолов, содержащая заглавные и строчные русские и английские буквы. Формат выходных данных:
В единственной строке выходного файла содержится единственное число - минимальная длина последовательности прикосновений пера для набора заданной строки.
Примеры файлов входных данных:  Примеры файлов выходных данных:
Строка                                              7
ПРИВЕТhеllо                                      14

Есть ответ
18.12.2022
104

Ответ


Вводим переменную summ типа int в которой будет записан конечный результат(то есть сколько потребуется нажатий пера).

Считаем строку из исходного файла в переменную stroka типа string.Посимвольно считываем со строки string символы и прибавляем к переменной summ.Переключение регистра или языка тоже суммируется в той же переменной.Если необходимо переключить регистр ,то нужно выбрать переключать его на всё время, или только на следующие касание.Чтобы выбрать проверим сколько букв далее стоят с одним регистром.Если 2 и более последущих букв стоят в одном регистре, то будем использовать Caps Lock т.к в результате потребуется меньше нажатий пера ,чем при использование Shift.

По коду символа будем определять его регистр и принадлежность к какому либо языку.


Если вы нашли правильное решение, вы можете поблагодарить нас начиная с 10 рублей.
Просто нажмите на кнопку "Подарить".
18.12.2022
Этот сайт использует cookies (Политика Cookies). Вы можете указать условия хранения и доступ к cookies в своем браузере.