Паскаль програма: знаходження найкоротшого і найдовшого слова у рядку
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.