В строке S записано несколько слов, разделенных пробелами (длина строки менее 200 символов). Найдите самое длинное слово, выведите его на экран, а так же его длину.
Технические требования: Строка S вводится с клавиатуры, решение выводится на экран.
Пример: Для S= «мышь клавиатура монитор дисковод колонки» ответом будет «клавиатура» 10.
Решение
Program word_long;
var k,i::integer;
a,b,m:string;
begin
write('Введите строку: ');
readln(a);
{Добавляем пробел в конец строки чтобы каждое слово оканчивалось пробелом}
a:=a+' ';
{Режем на слова Ищем самое длинное}
k:= 0;
b: = '';
m:= '';
For i:= 1 to Length(a) do
begin
c:= a[ i]; {посимвольно пребираем строку}
If c <> ' ' then {если не пробел, формируем слово}
b:= b + c;
else
If lengtht(m) < length(b) then {Ищем самое длинное}
begin
m:=b;
k:= length(b);
b:= '';
end;
end;
{Выводим результат}
Write(m, ', ',k);
end.
Технические требования: Строка S вводится с клавиатуры, решение выводится на экран.
Пример: Для S= «мышь клавиатура монитор дисковод колонки» ответом будет «клавиатура» 10.
Решение
Program word_long;
var k,i::integer;
a,b,m:string;
begin
write('Введите строку: ');
readln(a);
{Добавляем пробел в конец строки чтобы каждое слово оканчивалось пробелом}
a:=a+' ';
{Режем на слова Ищем самое длинное}
k:= 0;
b: = '';
m:= '';
For i:= 1 to Length(a) do
begin
c:= a[ i]; {посимвольно пребираем строку}
If c <> ' ' then {если не пробел, формируем слово}
b:= b + c;
else
If lengtht(m) < length(b) then {Ищем самое длинное}
begin
m:=b;
k:= length(b);
b:= '';
end;
end;
{Выводим результат}
Write(m, ', ',k);
end.
Комментариев нет:
Отправить комментарий