Var S, C, Cmax: string; i, j, k, max: integer; Begin Write('Введите предложение: ');ReadLn(S); S := UpperCase(S) + '.'; max := 0; i := 1; while (i <= Length(S)) do begin C := ''; while (S[i] in ['А'..'Я']) do begin C := C + S[i]; i += 1; end; k := 0; For j := 1 to Length(C) do if (C[j] in ['А','Е','Ё','И','О','У','Э','Ю','Я']) then k := k + 1; if (k > max) then begin max := k; Cmax := C; end; i += 1; end; WriteLn('Слово с наибольшим количеством гласных: ',Cmax); End.
Пример:
Введите предложение: Написать алгоритм,что указывает в данному предложении слово, в котором количество гласных максимальное Слово с наибольшим количеством гласных: ПРЕДЛОЖЕНИИ
1) Перевести 2-ное число в 16-ное очень легко - нужно разбить число на группы по 4 цифры и перевести каждую по такой таблице: 0000=0; 0001=1; 0010=2; 0011=3; 0100=4; 0101=5; 0110=6; 0111=7; 1000=8; 1001=9; 1010=A; 1011=B; 1100=C; 1101=D; 1110=E; 1111=F. Переводим: 101011 = 10.1011 = 0010.1011 = 2B
2) A8 = 10*16 + 8 = 168; AB = 10*16 + 11 = 171; B5 = 11*16 + 5 = 181; CA = 12*16 + 10 = 202. 8-ное число 265 = 2*8^2 + 6*8 + 5 = 2*64 + 48 + 5 = 128+48+5 = 181 Больше, чем 265(8) = 181(10) только число CA(16) = 202(10)
S, C, Cmax: string;
i, j, k, max: integer;
Begin
Write('Введите предложение: ');ReadLn(S);
S := UpperCase(S) + '.';
max := 0;
i := 1;
while (i <= Length(S)) do
begin
C := '';
while (S[i] in ['А'..'Я']) do
begin
C := C + S[i];
i += 1;
end;
k := 0;
For j := 1 to Length(C) do
if (C[j] in ['А','Е','Ё','И','О','У','Э','Ю','Я']) then
k := k + 1;
if (k > max) then
begin
max := k;
Cmax := C;
end;
i += 1;
end;
WriteLn('Слово с наибольшим количеством гласных: ',Cmax);
End.
Пример:
Введите предложение: Написать алгоритм,что указывает в данному предложении слово, в котором количество гласных максимальное
Слово с наибольшим количеством гласных: ПРЕДЛОЖЕНИИ
0000=0; 0001=1; 0010=2; 0011=3; 0100=4; 0101=5; 0110=6; 0111=7;
1000=8; 1001=9; 1010=A; 1011=B; 1100=C; 1101=D; 1110=E; 1111=F.
Переводим:
101011 = 10.1011 = 0010.1011 = 2B
2) A8 = 10*16 + 8 = 168; AB = 10*16 + 11 = 171; B5 = 11*16 + 5 = 181;
CA = 12*16 + 10 = 202.
8-ное число 265 = 2*8^2 + 6*8 + 5 = 2*64 + 48 + 5 = 128+48+5 = 181
Больше, чем 265(8) = 181(10) только число CA(16) = 202(10)