Другие языки программирования и технологии

Дан список городов, присвоить переменной Т название города с максимальным числом букв.

Исходный текст вводиться с клавиатуры в виде предложения
Доброго времени суток.

Достаточно одного цикла, Dark. И вы абсолютно правы на счет пробела в названии. В такой ситуации надо сначала решить вопрос о символе разделителе. Таким символом может быть запятая (что-то не припомню города с запятой в названии) . В программе к введенной строке добавляем запятую, чтобы последнее слово не выпало из обработки, а дальше цикл. Пока в строке есть запятая, проверить длину цепочки символов до первой запятой и, если она больше некоторого значения, запомнить новое значение длины и слово. Затем удалить первое слово из строки. На паскале это будет выглядеть так.

ReadLn(S);
S := S + ',';
L := 0;
while Pos(',', S) > 0 do begin
S1 := Copy(S, 1, Pos(',', S)-1); {копируем часть строки до первой запятой}
Delete(S, 1, Pos(',', S)); {удаляем эту часть с запятой}
if Length(S1) > L then begin {длина очередного слова больше}
T := S1; {запомнили слово}
L := Length(T); {и его длину}
end;
end;

Если требуется реализация на другом языке, то нужно просто использовать аналогичные функции конкретного языка.

Удачи!
Дмитрий Егоров
Дмитрий Егоров
59 613
Лучший ответ
загоняете название города в текстовую переменную [100], прогоняете циклом каждый город и.. . вычисляете сколько же букв в его названии.. . я наобум думаю, проще было бы делать подсчет до пары пробелов (так как название города может быть из нескольких слов) и это загоняете в другие переменные, каким-нибудь образом связанные с названием города :) далее циклом находите переменную с наибольшим числовым значением и записываете значение города в переменную T
как-то так :)
Ferhad Abbasov
Ferhad Abbasov
1 999

Похожие вопросы