| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Среднее количество слов в строке |
| Автор: ioManip 17.5.2013, 11:16 |
| Здравствуйте! Подскажите, чему равно среднее количество слов в строке? (Т.е. что то вроде формулы Сред.кол = делим это на это) |
| Автор: volatile 17.5.2013, 12:13 |
(double) кол-во_слов_в_файле) / кол-во_строк_в_файле |
| Автор: ioManip 19.5.2013, 04:45 | ||
volatile, Ясно, спасибо! А вот смотрите:
В цикле while первым делом я ищу кол - во слов, а затем кол - во строк. Но проблема в том, что если эти два алгоритма работают вместе, то они работают неправильно(подсчет неверный), если по отдельности, то все впорядке. + если вынести в отдельные циклы, то вовсе не работают. |
| Автор: volatile 20.5.2013, 00:00 |
| ioManip, читаете строку, потом эту строку разбираете на слова. |
| Автор: ioManip 20.5.2013, 09:58 | ||||
| volatile, извините не совсем понял к чему это было сказано. Вот смотрите что получилось
Только знаете, количество слов через раз считает, иногда верно иногда нет. Например:
|
| Автор: ioManip 20.5.2013, 15:22 | ||
Вот так?
Но так не выходит! Думаю, что табуляция как пробел считаться не будет => кол - во слов не будет меняться |
| Автор: volatile 21.5.2013, 00:17 |
зачем это? |
| Автор: feodorv 21.5.2013, 01:17 |
Если строка начинается не пробелом, то условие оставляет за бортом первое слово (согласно этому условию слову должен предшествовать пробел)... То есть маленький такой фиксап (если строка пустая, то что будет с этим фиксапом?) Ну а если строка заканчивается пробелом, то при проверке происходит выход за конец строки... Должна считаться, я так полагаю... |
| Автор: ioManip 21.5.2013, 10:57 | ||||||
На текст
выдал
вроде верно выглядит, хотя |
| Автор: feodorv 21.5.2013, 13:39 | ||
Не выглядит (реально 15 слов). Возможно, пустая строка считается как слово из-за Хотя здесь длина строки может быть нулевой (тогда Вы никак не имеете право делать str[0]). Тоже относится к значению i, равному str.length()-1, в следующем отрывке кода:
Выдайте отладочную информацию на экран, сравните с тем, что должно быть |
| Автор: ioManip 24.5.2013, 09:15 | ||||||||
Вообщем такие дела. На текст
Ответ таков
Но как только я перевожу курсор, т.е. делаю пустую строку, программа завершается без результатно. Отладчик пишет, что в
этой строке
|
| Автор: feodorv 24.5.2013, 09:55 | ||||
Гм. Такое впечатление, что Вы читаете избирательно)))
И чему равна str.length() для пустой строки? Чему равно str для пустой строки? Отладочной информации как не было, так и нет((( PS Пожалуйста, сделайте уже функцию my_isspace:
|