Другие языки программирования и технологии
Дан список городов, присвоить переменной Т название города с максимальным числом букв.
Исходный текст вводиться с клавиатуры в виде предложения
Доброго времени суток.
Достаточно одного цикла, 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;
Если требуется реализация на другом языке, то нужно просто использовать аналогичные функции конкретного языка.
Удачи!
Достаточно одного цикла, 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;
Если требуется реализация на другом языке, то нужно просто использовать аналогичные функции конкретного языка.
Удачи!
загоняете название города в текстовую переменную [100], прогоняете циклом каждый город и.. . вычисляете сколько же букв в его названии.. . я наобум думаю, проще было бы делать подсчет до пары пробелов (так как название города может быть из нескольких слов) и это загоняете в другие переменные, каким-нибудь образом связанные с названием города :) далее циклом находите переменную с наибольшим числовым значением и записываете значение города в переменную T
как-то так :)
как-то так :)
Похожие вопросы
- помогите пожалуйста решить задачу в С++,завтра экзамен. дана матрица а [4][5],надо найти строку с максимальным средним ари
- что значит в числовую переменную последовательно вводятся числа? Она же одна переменная, а в нее вводят много чисел, как
- Программирование ассемблер. Дан массив из 8 байт. Посчитать количество байт, в которых число нулей и единиц одинаковое
- помогите пожалуйста как исправить ошибку попытка присвоить переменной integer выражения типа boolean
- Предложите алгоритм нахождения количества максимальных чисел из трех введенных чисел.
- Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали. Максимальное число N задается.
- C++, какой смысл приписывать к числам букву L? (long N(0L), N % 2L) Чем грозит неприписывание? Особенн в Visual studio.
- Дан массив, состоящий из цифр. Удалить из него все отрицательные числа. Делфи
- На флешку в 2 гигабайта какое максимальное число документов можно поместить, если один документ весит 125 килобайт?
- Пусть дан упорядоченный список названий книг.