ПОМОГИТЕ ПОЖАЛУЙСТА!!! ОЧЕНЬ НУЖНО!Дана строка. Строка состоит из слов, разделенных пробелами. Требуется: 1) Выделить из строки и напечатать слова: а)не содержащие цифры 0-3. б) слова, оканчивающиеся на "Я"
ПОМОГИТЕ ПОЖАЛУЙСТА!!! ОЧЕНЬ НУЖНО!Дана строка. Строка состоит из слов, разделенных пробелами. Требуется:
1) Выделить из строки и напечатать слова:
а)не содержащие цифры 0-3.
б) слова, оканчивающиеся на "Я"
Ответ(ы) на вопрос:
const
bd=['0'..'3'];
var
s,wa,wb,w:string;
c:char;
i,n:integer;
bad_a:boolean;
begin
WriteLn('Вводите фразу, разделяя слова ровно одним пробелом');
Read(s);
s:=s+' ';
n:=Length(s); wa:=''; wb:='';
i:=1; bad_a:=false; w:='';
while i<=n do begin
repeat
c:=s[i];
if c<>' ' then begin
bad_a:=bad_a or (c in bd);
w:=w+c;
Inc(i)
end
else begin
if not bad_a then wa:=wa+' '+w;
if s[i-1]='Я' then wb:=wb+' '+w;
w:=''; bad_a:=false
end
until c=' ';
Inc(i);
end;
wa:=Copy(wa,2,Length(wa)-1);
wb:=Copy(wb,2,Length(wb)-1);
Writeln(wa);
Writeln(wb)
end.
Не нашли ответ?
Похожие вопросы