Форум » Обработка символьных строк » Другой ответ в №4217 » Ответить

Другой ответ в №4217

inform_lesson: Добрый день. Не совпадает ответ в №4217. Где ошибка? [pre2] var s:string; i,k,max:integer; begin assign(input,'24.txt'); readln(s); MAX:=0; for i:=1 to length(s)-1 do BEGIN if (s[ i]<>'Q')AND(S[I+1]<>'W') THEN begin INC(K); IF K>MAX THEN MAX:=K; END ELSE K:=0; END; WRITE(MAX); END.[/pre2]

Ответов - 4

Поляков: Очень тяжело воспринимать небрежно (никак не) оформленную программу. По существу: вы не учитываете, что отдельные буквы Q и W (не рядом) в цепочке могут быть.

inform_lesson: Спасибо, буду думать

patnikk: ### var s:= ReadAllText('24-157.txt') // чтение в строку из файла .Replace('QW','Q W').Split // замена "нехорошей" строки на пробел и создание массива строк по нему .Select(w-> Length(w)) // преобразование строк в их длину .Max.Print // вывод на экран самой длинной строки


cabanov.alexey: Очевидно, нет проверки WQ



полная версия страницы