Бэтмен считал день удачным, если ему удавалось совершить подвиг, и неудачным, если его...

0 голосов
35 просмотров

Бэтмен считал день удачным, если ему удавалось совершить подвиг, и неудачным, если его помощь была в этот день не нужна. Супергерой вёл дневник, в котором отмечал каждый день либо У (удачный), либо Н (неудачный). По строке, содержащей символы У и Н, определите самую длинную последовательность из удачных дней. Формат входных данных: Входной файл input.txt содержит строку, содержащую только символы У и Н. Длина строки не превышает 255 символов. Формат выходных данных: В выходной файл output.txt записано одно число – длина максимальной подстроки, содержащей только буквы У.


Информатика (15 баллов) | 35 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Суть программы
Input (A[255], input.txt); // Вводим из файла строку в массив А[255]
N = 0; NMax = 0; // Счетчик удачных дней
M = 0; // Счетчик длины массива (он может быть и меньше 255)
Цикл по i от 1 до 255
If (A[i] <> "У") and (A[i] <> "Н") then M = i - 1;
// Как только мы встретили значение, не равное ни У ни Н, так считаем это концом.
Конец цикла по i
If A[1] = "У" then N = 1 // Проверяем 1-ую ячейку
Цикл по i от 1 до M-1
if (A[i] = "Н") and (A[i+1] = "У") then N = 1; // Начало серии У
if (A[i] = "У") and (A[i+1] = "У") then N = N + 1; // Продолжение серии У
if (A[i] = "У") and (A[i+1] = "Н") then // Окончание серии У
     if N >= NMax then NMax = N; // Проверяем длину серии
end if
Конец Цикла по i
Output (output.txt, NMax) // вывод максимальной длины серии в файл.
Конец программы

(320k баллов)