Паскаль програма: знаходження найкоротшого і найдовшого слова у рядку

06.09.2014 0 By svvas

Задача:
У рядку, що складається зі слів, розділених пробілами, визначити довжину найкоротшого і найдовшого слів.

Опис змінних:
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.

Comments

comments