Program Z1_7;
uses crt;
const m=30;
gl=['а','е','ё','и','о','у','ы','э','ю','я','А','Е','Ё','И','О','У','Ы','Э','Ю','Я'];
rz=[' ',',',';',':','-'];//еще можно всякие скобки, подчеркивания, многоточия и т.д. добавить
type Mslovo=array[1..m] of string;
procedure P1(s:string[70];var ms:Mslovo;var k:byte);
var i,j:byte;
begin
k:=0;
i:=1;
while i<=length(s) do
if not(s[i] in rz)and((i=1)or(s[i-1] in rz)) then //если не разделитель и первый или перед ним разделитель
begin
k:=k+1; //новое слово
ms[k]:='';//начнем
j:=i;//с этого места
while(j<=length(s))and not(s[j] in rz)do //пока не конец и не разделитель
begin
ms[k]:=ms[k]+s[j];//составляем слово
j:=j+1;
end;
i:=i+length(ms[k])//перепрыгиваем
end
else i:=i+1; //если разделитель, вперед
end;
Procedure P2(s:string; var k:byte);
var i:byte;
begin
k:=0;
for i:=1 to length(s) do
if s[i] in gl then k:=k+1;
end;
var Predl:string[70];
mas:Mslovo;
n,i,kol:byte;
begin
writeln ('Vvedite predlogenie do 70 simvolov');
readln (Predl);
P1(Predl,mas,n);
for i:=1 to n do
begin
P2(mas[i],kol);
writeln(mas[i],' kol.glas.=',kol);
end;
readln
end.