|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.11.2016, 22:35 | #1 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Подсчёт слов в строке
Мне дали задание: Если в строку длиной до 70 символов, входит четное количество слов, состоящих из четырех букв, то вывести сообщение TRUE.
И вот что я сделал: Код:
Насылаю баги по фотографии преимущественно себе
|
25.11.2016, 08:09 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Тут вообще какая-то наркомания непонятная. Почему вводите максимум 4 символа, когда нужно до 70? Зачем строки объединять? Зачем проверка длины на 70?
Запрашиваете строку str, а не input, потом при помощи strtok пилите на слова https://ru.wikipedia.org/wiki/Strtok там пример даже подходящий, слово лексемы только меняете на слова и вот уже есть выделение слов. Внутри цикла проверяете длину слова и считаете количество слов. Попалось слово не из 4 букв - пишем FALSE и выходим из цикла. После цикла проверяем подсчитанное число слов и если там не чётное число - пишем FALSE, чётное - TRUE. |
25.11.2016, 11:49 | #3 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Ясно, я не так понял задание.
Насылаю баги по фотографии преимущественно себе
|
25.11.2016, 23:52 | #4 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Я переделал программу, но теперь она выводит TRUE в любом случае, даже если ввожу одно слово из 3 букв. Подскажите где ошибка?
Код:
Насылаю баги по фотографии преимущественно себе
Последний раз редактировалось CortesGames; 26.11.2016 в 00:19. |
26.11.2016, 05:13 | #5 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Уже сам решил. Если кому-то интересно вот код. Я нашёл проблему- scanf не считывал пробел, решение этой проблемы я не нашёл, поэтому решил вместо пробела писать _ и всё заработало. Потом нашёлся ещё один баг, если ввести в программу просто слово из четырёх букв, оно выведет FALSE потому что я пока-что не знаю как сделать проверку на конец строки.
Код:
Насылаю баги по фотографии преимущественно себе
Последний раз редактировалось CortesGames; 26.11.2016 в 05:16. |
29.11.2016, 23:33 | #6 |
Заблокирован
Регистрация: 29.11.2016
Сообщений: 215
|
|
30.11.2016, 09:19 | #7 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
вариант 1: добавить к строке "_"
вариант 2: насколько я помню, в С строки заканчиваются /0. Проверять не только встречу "_" но и символа конца строки.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчёт повторяющихся слов в строке | Таксист | C# (си шарп) | 3 | 18.07.2015 20:48 |
подсчёт слов | neBu4kaMaXiM | Помощь студентам | 2 | 30.03.2010 10:00 |
подсчёт слов | Светочка132 | Помощь студентам | 1 | 27.03.2010 15:59 |
подсчёт слов | neBu4kaMaXiM | Фриланс | 13 | 18.03.2010 18:11 |
по вводу слов в массив и подсчёт введённых слов | -ushёl- | Общие вопросы C/C++ | 4 | 16.11.2009 00:45 |