Здравствуйте, Dr_Sh0ck, Вы писали:
D_S>Здравствуйте, zeny, Вы писали:
Z>>Подскажите пожелуйста как решить эту задачу:
Z>>Необходимо сделать функцию, которая делает следующее:
Z>>Дана строка слов разделённых пробелами, найти слово максимальной длинны.
Z>>Зараннее благодарен!
D_S>"В лоб", что называется, и решай.
Нееее...
D_S>1. Поставь указатель на начало строки.
Поскипал...
D_S>6. Как только достигнут конец всей строки, сохраненный указатель будет содержать начало самой длинной подстроки.
Зачем так?
Прощелкиваем всю строку. Запоминаем в массив номера позиций, в которой стоят пробелы. В конце цикла пишем в массив последним элементом длину строки. Затем находим попарные разности между элементами полученного массива и записываем рядом (все можно сделать в одном цикле). К примеру, получим что-то такое:
Позиция Разность
3 12 (15-3)
15 3 (18-15)
18 5 (23-18)
23 5 (27-23)
27 2 (29-27)
29
Потом находим пару с самой большой разностью. Сразу получаем номер символа в строке и длину слова.
d TOXICITY — Chop Suey! d