|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2019, 15:36 | #1 |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
Написать функцию, которая принимает на вход строку и возвращает количество слов в нем
Мне нужно написать функцию, которая принимает на вход строку и возвращает количество слов в нем. Не используя стандартную функцию Split.Но мой код не правильно работает. Тоесть не все случаи захватывает
Код:
|
12.01.2019, 16:37 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так подумайте какие случаи бывают, в каких состояниях вы можете быть во время прохода строки (конечный автомат).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.01.2019, 21:22 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Пробелов может быть больше одного подряд и кроме него еще много разных знаков делят слова (табуляция, запятая, точка,...).
итого нужно дополнительно хранить флаг: предыдущий символ был частью слова или разделителем. Дальше проверку переписать на сравнение с несколькими разделителями. Например, можно завести множество символов и записать туда все разделители. Если очередной символ есть в этом множестве, значит это разделитель слова. Если предыдущий символ был частью слова, то увеличиваем счётчик, иначе ничего не делаем. |
30.06.2019, 17:02 | #4 | |
Новичок
Джуниор
Регистрация: 30.06.2019
Сообщений: 2
|
Цитата:
Далее, перед началом обработки строки сделайте Код:
А после - сделайте split строки да и все. |
|
21.10.2019, 12:51 | #5 |
Пользователь
Регистрация: 11.08.2008
Сообщений: 19
|
Если пробелов больше чем один используйте метод Trim()
|
21.10.2019, 13:30 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
к чему это здесь?!
Вы первый пост читали? Задание поняли? во-первых, Trim() никак не поможет, если ВНУТРИ строки пробелов более одного подряд. во-вторых, правильные вопросы к коду были в пост #3 в-третьих, теме много месяцев. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
функцию, которая принимает список в качестве аргумента и возвращает строку, в которой все элементы списка разделены запятой и пробелом, а перед последним элементом вставлено слово | likeaballoon | Помощь студентам | 2 | 02.11.2017 11:11 |
1.Описать функцию, которая возвращает количество слов, в которых содержится хотя бы одна заданная буква. | sasharom97 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.12.2015 10:01 |
написать функцию которая подает на вход строку | vova_makr | Помощь студентам | 3 | 25.09.2015 18:12 |
Функция, которая на вход принимает строку и в качестве результата возвращает ее копию | sswt | Помощь студентам | 23 | 24.09.2015 08:09 |
Функцию, которая принимает в качестве параметра строку и символ и вычисляет количество таких символов в строке (Delphi) | Loqwer78rus | Помощь студентам | 10 | 06.05.2014 10:52 |