1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
||||||
1 | ||||||
Советы по упрощению кода. Количество слов в строке19.03.2015, 23:07. Просмотров 494. Ответов 19
Метки нет Все метки)
(
Доброго времени суток!
Подскажите, пожалуйста, пути упрощения сией простой программки на подсчет слов в строке
0
|
|
19.03.2015, 23:07 | |
Количество слов в заданной строке (для каждого из слов) Cтрока: Определить количество средних слов в строке и какое из слов начинается на большую по коду букву В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд). Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов) |
|
925 / 625 / 293
Регистрация: 26.02.2015
Сообщений: 2,876
|
|
19.03.2015, 23:12 | 2 |
Даже не знаю. Можешь переменную i объявить внутри цикла. Тогда по выходу из цикла она освободит немного памяти.
Добавлено через 1 минуту Кстати, если в строку исходную написать два пробела подряд, то он посчитает это за слово. ![]() Добавлено через 55 секунд А если 3 пробела написать, то 2 слова будет и т.д. по нарастающей.
1
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
|
19.03.2015, 23:13 [ТС] | 3 |
Nishen, упс, исправим) А как объявить i в цикле, если в условии нужно указать индекс строки?(S[i])
0
|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
||||||
19.03.2015, 23:18 | 5 | |||||
misesin, по сути задача сводится к пересчету числа пробелов в строке.
0
|
493 / 375 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
|
|
19.03.2015, 23:19 | 6 |
Можно сделать while (1) , а внутри через if проверить это же условие, а потом break;
Хотя нет, тоже бред, сори
0
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
||||||
19.03.2015, 23:20 [ТС] | 7 | |||||
0
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
|
19.03.2015, 23:24 [ТС] | 9 |
bogdan_017, а если введём 2 пробела подряд либо пробелы в конце и в начале либо цифры
Добавлено через 27 секунд Nishen, а что с многоточием?) Добавлено через 1 минуту Nishen, мы ведь пробел перед ним не ставим, как и перед всеми знаками, хотя с другой стороны, мы то не поставим, а кто-то может поставить)
0
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
||||||
19.03.2015, 23:28 [ТС] | 11 | |||||
Упростили код, называется) Добавлено через 50 секунд патч 1.0.3
0
|
21 / 21 / 19
Регистрация: 18.03.2014
Сообщений: 148
|
|
19.03.2015, 23:36 | 12 |
misesin, можно юзать тот же код, что я предложил, только в условном операторе несколько дизъюнкций добавить
![]()
0
|
Форумчанин
![]() ![]() 8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
|
||||||
19.03.2015, 23:40 | 13 | |||||
0
|
33 / 33 / 18
Регистрация: 15.05.2013
Сообщений: 236
|
||||||
20.03.2015, 00:15 | 14 | |||||
misesin, ты же не решил задачу. А как же:
0
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
|
20.03.2015, 01:29 [ТС] | 15 |
Kant, ispunct(S[i+1] разве не решает проблему?
1
|
33 / 33 / 18
Регистрация: 15.05.2013
Сообщений: 236
|
|||||||||||
20.03.2015, 05:02 | 16 | ||||||||||
Ого! Я не знал такой функции. Спасибо!
Если вбить пустую строку посчитает одно слово и если вбить так:
Я делал недавно подсчет всех слов и вывод их в файл. Добавлено через 12 минут Убрал лишние. Это С++11. Кликните здесь для просмотра всего текста
Добавлено через 6 минут substr_count_word ещё выпили. Добавлено через 23 секунды substr_count_word ещё выпили. Добавлено через 24 секунды substr_count_word ещё выпили.
0
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
||||||
20.03.2015, 09:46 [ТС] | 17 | |||||
Препод меня с таким кодом не поймёт)
Добавлено через 29 секунд И вариант пустой строки учел
0
|
925 / 625 / 293
Регистрация: 26.02.2015
Сообщений: 2,876
|
||||||
20.03.2015, 09:51 | 18 | |||||
Для чего твоя функция информирует пользователя о количестве слов, если она это количество возвращает из функции? Мне кажется, было бы разумнее в основной программе написать:
И зачем ты в функцию передаешь параметрами count и i? Делай это тогда по ссылке или используй локальные переменные функции.
0
|
710 / 282 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||||||
20.03.2015, 12:08 | 19 | |||||
![]()
0
|
1 / 1 / 0
Регистрация: 13.11.2014
Сообщений: 40
|
|
20.03.2015, 22:58 [ТС] | 20 |
Voivoid, ю вин) но для меня пока слишком сложно
Добавлено через 3 минуты Препод мне сегодня поведал, что в стринг лучше не использовать '\0', а альтернативу не указал. Какие варианты?
0
|
20.03.2015, 22:58 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Вычыслить количество слов в строке, длинна которых равна 3 символам и вывести их на экран, если же таких слов нет, то выдать об этом сообщение.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |