Паскаль програма: знаходження найкоротшого і найдовшого слова у рядку
06.09.2014Задача:
У рядку, що складається зі слів, розділених пробілами, визначити довжину найкоротшого і найдовшого слів.
Опис змінних:
s – вхідний рядок,
l – довжина рядка,
short, long – довжини найкоротшого і найдовшого слів,
current – довжина поточного слова.
Алгоритм розв’язання задачі:
– Збільшуємо значення змінної current, поки не зустрінемо пробіл. Тим самим дізнаємося довжину поточного слова.
– Якщо черговий символ – це пробіл, то порівнюємо значення current зі значеннями записаними в змінних short і long. При необхідності міняємо їх значення на те, що знаходиться в current. Значення current обнуляемо.
– Щоб порівняти довжину останнього слова (адже пробілу після нього може не бути, і, отже, current порівнюється з short і long), передбачено порівняння змінних за циклом.
Програма на мові Паскаль:
program LongShort;
s: string;
l, i: byte;
short, long, current: byte;
begin
readln(s);
l := length(s);
short := 255;
long := 0;
current := 0;
for i:=1 to l do begin
if (s[i] <> ' ') then
current := current + 1
else begin
if current < short then
short := current;
if current > long then
long := current;
current := 0;
end;
end;
if current < short then
short := current;
if current > long then
long := current;
writeln(short, ' ', long);
readln;
end.