![]() |
|
Модераторы: bsa |
![]()
|
|
| ioManip |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 12.8.2011 Где: Благовещенск Репутация: нет Всего: нет |
Здравствуйте! Подскажите, чему равно среднее количество слов в строке? (Т.е. что то вроде формулы Сред.кол = делим это на это)
Это сообщение отредактировал(а) ioManip - 17.5.2013, 11:16 --------------------
Мечты не работают, пока ты не работаешь! |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
| ioManip |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 12.8.2011 Где: Благовещенск Репутация: нет Всего: нет |
volatile, Ясно, спасибо! А вот смотрите:
В цикле while первым делом я ищу кол - во слов, а затем кол - во строк. Но проблема в том, что если эти два алгоритма работают вместе, то они работают неправильно(подсчет неверный), если по отдельности, то все впорядке. + если вынести в отдельные циклы, то вовсе не работают. Это сообщение отредактировал(а) ioManip - 19.5.2013, 04:47 --------------------
Мечты не работают, пока ты не работаешь! |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
ioManip, читаете строку, потом эту строку разбираете на слова.
|
|||
|
||||
| ioManip |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 12.8.2011 Где: Благовещенск Репутация: нет Всего: нет |
volatile, извините не совсем понял к чему это было сказано.
Вот смотрите что получилось
Только знаете, количество слов через раз считает, иногда верно иногда нет. Например:
--------------------
Мечты не работают, пока ты не работаешь! |
||||
|
|||||
| feodorv |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Удивительно, что бывает, что считает верно...
Зачем одновременно считывать слово, а потом в цикле строчку? Нужно же считать из файла строчку, а потом в ней подсчитать количество слов:
И такой вопрос - если слова в файле разделяются табуляцией? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||||
|
|||||||||
| ioManip |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 12.8.2011 Где: Благовещенск Репутация: нет Всего: нет |
Вот так?
Но так не выходит! Думаю, что табуляция как пробел считаться не будет => кол - во слов не будет меняться --------------------
Мечты не работают, пока ты не работаешь! |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Если строка начинается не пробелом, то условие оставляет за бортом первое слово (согласно этому условию слову должен предшествовать пробел)... То есть маленький такой фиксап (если строка пустая, то что будет с этим фиксапом?) Ну а если строка заканчивается пробелом, то при проверке происходит выход за конец строки... Должна считаться, я так полагаю... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| ioManip |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 12.8.2011 Где: Благовещенск Репутация: нет Всего: нет |
На текст
выдал
вроде верно выглядит, хотя --------------------
Мечты не работают, пока ты не работаешь! |
||||||
|
|||||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Не выглядит (реально 15 слов). Возможно, пустая строка считается как слово из-за Хотя здесь длина строки может быть нулевой (тогда Вы никак не имеете право делать str[0]). Тоже относится к значению i, равному str.length()-1, в следующем отрывке кода:
Выдайте отладочную информацию на экран, сравните с тем, что должно быть -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| ioManip |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 12.8.2011 Где: Благовещенск Репутация: нет Всего: нет |
Вообщем такие дела. На текст
Ответ таков
Но как только я перевожу курсор, т.е. делаю пустую строку, программа завершается без результатно. Отладчик пишет, что в
этой строке
--------------------
Мечты не работают, пока ты не работаешь! |
||||||||
|
|||||||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Гм. Такое впечатление, что Вы читаете избирательно))) И чему равна str.length() для пустой строки? Чему равно str для пустой строки? Отладочной информации как не было, так и нет((( PS Пожалуйста, сделайте уже функцию my_isspace:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |