1. Из 4 моих вопросов ответ был только на 2: 1-й и 4-й. А как с остальными? 2. Что должна возвращать функция? Количество слов? Массив слов? Список слов? Если один из двух последних, то это глобальные объекты или передаваемые через параметры? 3. Судя по стилю того, что написано, предполагается реализация конечного автомата. Это не самый рациональный способ в данной ситуации. Но если идти по нему, необходимо ввести переменную, описывающую состояние автомата. Например, принадлежал ли предыдущий символ слову или был разделителем. И, соответственно, для различных сочетаний типа (буква/разделитель) текущего и предыдущего символа производятся те или иные действия. Например, если оба - символы, то продолжаем обработку текущего слова. 4. Лучше, на мой взгляд, разбирать строковыми операциями. Выглядеть должно примерно так: - заменяем все разделители пробелами. - заменяем все двойные пробелы одинарными (после чего слова у нас оказываются разделенными единственным пробелом. - цикл, на каждом шаге которого находим очередной пробел, обрабатываем слово от начал строки до пробела, удаляем из строки слово вместе с пробелом. - когда в строке не осталось пробелов, обрабатываем последнее входящее в нее слово.
|