// PascalABC.Net 3.0, сборка 1066var s, wd: string; n, pt: integer;begin Write('Введите строку: ');Readln(s); n := Length(s); pt := 1; repeat // Пропускаем все символы до первого непробельного while pt <= n do if s[pt] = ' ' then Inc(pt) else break; if pt <= n then begin // Выделяем очередное слово wd := ''; while pt <= n do if s[pt] <> ' ' then begin wd := wd + s[pt]; Inc(pt) end else break; if (wd <> '') and (LowCase(wd[1]) in ['м'..'я']) then Writeln(wd) end until pt > n;end.
Тестовое решение:Введите строку: **А роза упала на лапу Азора **розаупалана
А вот так версия 3.0 позволяет решить задачу "по-современному":// PascalABC.Net 3.0, сборка 1066begin var s:=ReadString('Введите строку: '); Writeln('Результат: ',s.ToWords(' ').Where(x->x[1] in ['м'..'я']))end.
Тестовое решение:Введите строку: **А роза упала на лапу Азора **Результат: [роза,упала,на]