задача подсчета количества слов в строке #607794


#0 by TimonXPumbA
Покажите пожалуйста кто-нибудь правильный код к задаче: Нужно разработать функцию, на вход подается произвольная строка. Функция должна вернуть количество слов в ней. Слово - последовательность символов, не содержащая пробела. Считать, что слова могут разделяться любым количеством пробелов. я начинающий, примерно что нужно сделать знаю, но не знаю как реализовать в код :(
#1 by Дикообразко
xxxxx: В контрольной работе по информатике для студентов экономического факультета требовалось написать на Паскале программку - подсчитать сколько раз в введенной с клавиатуры строке встречается подстрока "мн". Выдержка из одной контрольной: ... readln(str); writeln('Сколько раз в этой строке встречается подстрока "мн"?'); readln(n); writeln('Такая подстрока встречается:',n,'раз'); ... и причем тут 1С ?
#2 by zak555
не только пробел нужно учитывать, но и неразрывной
#3 by Euguln
СтрЧислоВхождений  :)
#4 by ptiz
+ Ну и сначала удалить соседние пробелы
#5 by Дикообразко
в принципе можно решить в одну строку ;)
#6 by Господин ПЖ
СтрЗаменить(" ", Символы.ПС) и посчитать кол-во не пустых ?
#7 by Argon
Черт я в 2 смог только :(
#8 by Дикообразко
кмх.. наверно прав... в одну не получиться :( хотя может стоит подумать подольше :)
#9 by Argon
ЧислоСлов = СтрЧислоВхождений(СокрЛП(СтрЗаменить(СтрЗаменить(стр,"  "," "),"  "," "))," ")+1;
#10 by Широкий
Если с "Выполнить" - то можно и в одну :))
#11 by Argon
Что то типа этого :)
#12 by echo77
#13 by Argon
Блин просили не раскладывать, а посчитать слова :)
#14 by Широкий
#15 by Deon
А чё без запросов-то?
#16 by Deon
Не делай так. Покусают же
#17 by Дикообразко
не выполняется "Считать, что слова могут разделяться любым количеством пробелов. "
#18 by Argon
Извращенцы
#19 by Argon
А если подумать?
#20 by Широкий
"Это тебе надо      подумать"
#21 by Deon
На дырке из 3х пробелов уже сдохнет
#22 by Дикообразко
все у него правильно :)) понял.. зачет.. в две строки я думал через структуру сделать
#23 by Дикообразко
для этого у него контрольный стрзаменить ;)
#24 by Argon
:( мну дурак
#25 by Argon
при большем количестве пробелов не сработает реально я тупанул )
#26 by Deon
А, не из 3х, из 5
#27 by Дикообразко
кхм.. останется 2 пробела...
#28 by х86
меняешь 2,3,4,5 ... т.д пробелов на один пробел считаешь количество пробелов
#29 by Argon
Версия 1.1 (с костылями)
#30 by zak555
что такое рекурсия не знаешь ?
#31 by Дикообразко
не универсально :(
#32 by Deon
В одну строку не взлетит )
#33 by Дикообразко
для тупых или не читающих мы тут обсуждаем как в одну строку сделать
#34 by Argon
главное не говорить об этом заказчику :)))
#35 by gavrikprog
самое оно... завернуть можно хоть в какую-нибудь сторону. И различные получить, и количество по факту
#36 by zak555
#37 by Argon
Проверял?
#38 by Argon
1. Как бы где результат (количество слов) 2. СокрЛП забыл 3. Все таки 3 строки
#39 by Deon
Нате вам боле менее универсальную фигулю в одну строку:
#40 by zak555
что это ?
#41 by Deon
Это хрень которая посчитает тебе количество слов в строке, разделенных любым количеством пробелов.
#42 by Argon
четко :)  но лучше комбинацию сцец символов )))
#43 by Deon
Да, разумеется.
#44 by Широкий
Зачет.. Сам придумал?
#45 by Широкий
И на выставку :) КоличествоСлов=СтрЧислоВхождений(СтрЗаменить( СтрЗаменить(СокрЛП(ИсходнаяСтрока), " ", "$##$"), "##$$", ""),"$##$")+ЗначениеЗаполнено(ИсходнаяСтрока);
#46 by Дикообразко
ну все, ветку можно закрывать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С