profile
Опубликовано 5 лет назад по предмету Информатика от mukhamiedzhanova

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

  1. Ответ
    Ответ дан mefody66
    Суть программы
    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) // вывод максимальной длины серии в файл.
    Конец программы

Самые новые вопросы