![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Программка подсчитывает количество слов, разделенных произвольным количеством пробелов, во введенных строках. Split и for использовать нельзя.
В очередной раз создается все с помощью while. Вероятно, используется и вложенный while (Я сама просто еще никак не могу понять)... Я начала так:
Например, я ввожу строку "house near the lake" или " house near the lake" (кол-во пробелов любое). В окне калькулятора соответственно должно появится число 4(в строке же 4 слова введено). |
|||
|
||||
Night_xxx |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 7.1.2007 Где: Набережные Челны Репутация: 0 Всего: 0 |
Не знаю как в Pythone но в паскале алгоритм посчета слов вот какой
simvol=' '; int count = 0; for(int i = 0; i<(int)strlen(str) && str[i]!=0; i ++) { if(str[i] == simvol) count++; } cout<<count+1; Может поможет тебе понять как работает. Добавлено @ 22:54 ой не в паскале а в С++ |
|||
|
||||
Strannik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.1.2007 Репутация: 1 Всего: 2 |
Алгоритм на словах (ибо питона не знаю):
Идём по строке начиная со 2 символа и смотрим: если предыдущий символ не пробел и текущий символ пробел, то увеличить кол-во слов на 1. Если последний символ строки не пробел, то увеличить кол-во слов ещё на 1. |
|||
|
||||
doomik |
|
|||
![]() Одинокий волк ![]() ![]() Профиль Группа: Участник Сообщений: 360 Регистрация: 25.10.2005 Где: #vingrad Репутация: 3 Всего: 15 |
-------------------- "Единственный способ изучать новый язык программирования - писать на нем программы." - Brian Kernighan Remember, st1ng3r /server irc.ircline.ru /j #vingrad |
|||
|
||||
Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
![]() ![]() ![]() Я вот такую штучку накатала.
Но эта прога считает все буквы кроме пробела, а мне надо, чтоб не по буквам считала, а по словам. Кроме того нельзя было использовать for ![]() |
|||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Night_xxx, очевидно, не понял задание и поэтому написал подсёт пробелов в строке + 1 на сях...
![]() А вот Strannik привёл действенный алгоритм. Вот его реализация:
Упс, долго писал, опередили. ![]() ... Хотя, нет, у меня лучше. ![]() Это сообщение отредактировал(а) V.A.KeRneL - 3.2.2007, 21:39 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
doomik, огромное спасибо! Но воот эта часть
|
|||
|
||||
Strannik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.1.2007 Репутация: 1 Всего: 2 |
Он написал абсолютно правильный алгоритм, но с условием что слова разделены только одним пробелом. Это сообщение отредактировал(а) Strannik - 30.1.2007, 18:56 |
|||
|
||||
Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Ребята! Всем огромное спасибо, что меня не бросаете!
![]() |
|||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
![]() Но, задание-то было чётко сформулировано, и оно гласит, что пробелов сколько угодно и где угодно! ![]() З.Ы. И ещё, строчек может быть больше одной. Именно этим моё решение лучше doomik'овского. З.З.Ы. Paranorma, свои темы, всё-таки, не забывай своевременно помечать решёнными! Это сообщение отредактировал(а) V.A.KeRneL - 30.1.2007, 00:33 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
Strannik |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.1.2007 Репутация: 1 Всего: 2 |
Да согласен, согласен... просто есть у меня привычка такая... людей защищать и к объективности стремиться где надо и где не надо.. Это сообщение отредактировал(а) Strannik - 30.1.2007, 18:55 |
|||
|
||||
Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Я эту программку на свой лад (точнее, как препод любит) переделала
Как я вижу, эта программка нормально работает, только если введен один пробел между словами. если допустить что сначала я ввожу 6 пробелов, потом слово, потом 3 пробела и еще слово. Фишка в том, что слова должны подсчитываться независимо от количества пробелов между словами. Добавлено @ 00:44 Пардон! Я кажется сама с переделкой нагрешила, исправлюсь. |
|||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Paranorma, в 13-ой строчке ``0'' на ``j - 1'' исправила, да?
Ну так приведи лучше исправленый код, чем этот с ачипяткой. -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
![]() Вот если надо написать прогу считающую слова но строки всегда начинаются именно со слова и заканчиваются словом. то есть тут строгое условие что никаких пробелов в начале и в конце, а все слова разделены только одним пробелом... Думала долго... изобразила этот бред, но не работает...
|
|||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Paranorma, дык эта задача — частный слуай предыдущей. Зачем изобретать одноколёсный велосипед?
![]() ![]() Препод что ли требует? -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |