Скачиваний:
290
Добавлен:
04.03.2014
Размер:
1.56 Кб
Скачать
Задача:
В строке, состоящей из слов, разделенных пробелами, определить длину кратчайшего и самого длинного слов.

Описание переменных:
str - исходная строка,
len - длина исходной строки,
shortest, longest - длины самого короткого и самого длинного слов,
current - длина текущего слова.
Алгоритм решения задачи:
Увеличиваем значение переменной current, пока не встретим пробел. Тем самым узнаем длину текущего слова.
Если очередной символ - это пробел, то сравниваем значение current со значениями записанными в переменных shortest и longest. При необходимости меняем их значения на то, что находится в current. Значение current обнуляем.
Чтобы сравнить длину последнего слова (ведь пробела после него может не быть, и, следовательно, current не сравнивается с shortest и longest), предусмотрено сравнение переменных за циклом.
Программа на языке Паскаль:
var
str: string;
len, i: byte;
shortest, longest, current: byte;
begin
readln(str);
len := length(str);
shortest := 255;
longest := 0;
current := 0;
for i:=1 to len do begin
if (str[i] <> ' ') then
current := current + 1
else begin
if current < shortest then
shortest := current;
if current > longest then
longest := current;
current := 0;
end;
end;
if current < shortest then
shortest := current;
if current > longest then
longest := current;

writeln(shortest, ' ', longest);
readln;
end.
Соседние файлы в папке Строки в комбинации с другими типами задач