Var
s,w:string;
i,j,n,p,k,gmax:integer;
fBreak:boolean; { флажок для прерывания циклов }
begin
Writeln('Введите текст, разделяя слова пробелами');
Readln(s);
s:=LowerCase(s);
n:=Length(s); p:=1; fBreak:=False; gmax:=0;
while (not Fbreak) do { перебор всех символов в строке }
begin
{ищем первый непробельный символ - начало слова }
fBreak:=False;
while ((p<=n) and (not fBreak)) do
if (p=n) or (s[p]<>' ') then fBreak:=True
else Inc(p);
{ ищем первый пробельный символ - конец слова }
if p<n then begin
i:=p; Inc(p); fBreak:=False;
while (p<=n) and (not fBreak) do begin
if (p=n) or (s[p]=' ') then fBreak:=True
else Inc(p)
end;
{ теперь слово находится между позициями i и p }
k:=0;
for j:=i to p do
if s[j] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
if gmax<k then begin gmax:=k; w:=Copy(s,i,p-i) end;
i:=p; p:=p+1
end
else p:=p+1;
fBreak:=(p>n)
end;
if gmax>0 then Writeln('В слове "',w,'" максимум гласных, равный ',gmax)
else Writeln('Во введенной строке гласных букв не найдено')
end.
<em><u>Тестовое решение:</u></em>
Введите текст, разделяя слова пробелами
В слове ДЛИННОШЕЕЕ три буквы е подряд!
В слове "длинношеее" максимум гласных, равный 5
Много как...
Квадрат числа - Sqr(x)
Число в степени N - Power(x, n)
Корень числа - Sqrt(x)
Корень степени N - Power(x, 1/n)
Синус числа (в радианах) - Sin(x)
Косинус - Cos(x)
Логарифм натуральный - Ln(x)
Логарифм по основанию n - Ln(x)/Ln(n) или LogN(x)
Модуль числа - Abs(x)
Экспонента - Exp(x)
Остальные функции, как и Power, зависят от паскаля. Где-то есть Arctan, Tan, Cotan и т.д., а где-то их нет.
P.S. Не путаемся в знаках, скобках и порядка расстановки литерал.
а) Sqr(1 + x)
б) Sqrt(1 + Sqr(x))
в) Sqr(cos(Sqr(x)))
г) ln(x/5)/ln(2)
д) Arcsin(x)
е) (exp(x) + exp(-x)) / 2
ж) Power(x, sqrt(2))
з) Power(1 + x, 1/3)
и) Sqrt(Power(x, 8) + Power(8, x))
к) (x * y * z - 3.3 * Abs(x + Power(y, 1/4))) / (Power(10, 7) + ln(factor(4)))
л) (beta + sqr(sin(Power(Pi, 4)))) / (cos(2) + Abs(Cotan(y)))
function factor(x: longint): longint;
begin
if x <= 0 then factor := 1
else factor := factor(x - 1) * x;
end;
Var a,b,c,d:integer;
begin
writeln('a, b, c:');
readln(a,b,c);
if (a>b)and(a<c)or(a>c)and(a<b)
then begin d:=b; b:=c; c:=d; end
else if (b>a)and(b<c)or(b>c)and(b<a)
then begin d:=a; a:=c; c:=d; end
else begin d:=a; a:=b; b:=d; end;
writeln('a = ',a,' b = ',b,' c = ',c);
end.
Пример:
a, b, c:
8 5 2
a = 2 b = 5 c = 8