Сколько пробелов между словами в программе Паскаль. ( основные варианты слов и сколько между ними пробелов) .ДАМ МНОГО БАЛЛОВ

Сколько пробелов между словами в программе Паскаль. ( основные варианты слов и сколько между ними пробелов) .ДАМ МНОГО БАЛЛОВ
Гость
Ответ(ы) на вопрос:
Гость
const   Blanks = [' ']; function PosBlank(s: string; pn, pk: integer): integer; {    Ищет в строке s в позициях от pn до pk пробельный символ.   Возвращает его позицию в строке или ноль, если таковой символ не найден.   Использует подмножество пробельных символов Blanks, что позволяет определять   произвольный набор пробельных символов (например, табуляцию и т.д.) } var   p: integer;   flag: boolean; begin   p := pn;   flag := true;   while flag and (p <= pk) do   begin     if s[p] in Blanks then flag := false     else p := p + 1   end;   if p > pk then PosBlank := 0   else PosBlank := p end; function PosNonBlank(s: string; pn, pk: integer): integer; {    Ищет в строке s в позициях от pn до pk непробельный символ.   Возвращает его позицию в строке или ноль, если таковой символ не найден.   Использует подмножество пробельных символов Blanks, что позволяет определять   произвольный набор пробельных символов (например, табуляцию и т.д.) } var   p: integer;   flag: boolean; begin   p := pn;   flag:=true;   while flag and (p <= pk) do   begin     if s[p] in Blanks then p := p + 1     else flag := false   end;   if p > pk then PosNonBlank := 0   else PosNonBlank := p end; var   s: string;   i, l, k: integer; begin   Write('Введите строку: ');   Readln(s);   l := Length(s);   k := 0;   i := PosNonBlank(s, 1, l);   while (i>0) and (i <= l) do   begin     k := k + 1;     i := PosBlank(s, i + 1, l);     if i = 0 then i := l + 1     else i := PosNonBlank(s, i + 1, l)   end;   Writeln('Количество слов в строке равно ', k) end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы