Цитата:
Сообщение от Анюта1
Дона последовательность символов s1...sn (n-заранее не известно) заканчивающая точкой. Подсчитать максимальное к-во подряд идущих пробелов.
|
Извините, но что такое "дана последовательность" (а уж тем более "дона") я не очень понимаю (в каком виде дана? строка файла? ввод с консоли?), но пусть символы составляют строку S. Тогда так:
Код:
VAR
i,j,Number_of_gaps,Number_of_gaps_max:INTEGER;
S:STRING;
BEGIN
{Ввод символов в строку делайте сами}
Number_of_gaps:=0;
Number_of_gaps_max:=0;
i:=1;
REPEAT
IF S[i]=' ' THEN
BEGIN
INC(Number_of_gaps);
j:=0;
REPEAT
INC(j);
IF S[i+j]=' ' THEN INC(Number_of_gaps);
UNTIL S[i+j]<>' ';
IF Number_of_gaps>Number_of_gaps_max THEN
Number_of_gaps_max:=Number_of_gaps;
i:=i+j-1;
Number_of_gaps:=0;
END;
INC(i);
UNTIL S[i]='.';
Writeln('Maximum number of gaps= ',Number_of_gaps_max);
ReadLn;
END.