![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
Помогите с задачей (код желательно на Си):
"В символьной строке сосчитать число слов, содержащих гласные буквы" Заранее всем благодарен!!!
--------------------
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
не вопрос -- поможем.
что именно тебе не понятно? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
Я не знаю как написать сам цикл обработки строки.
У меня в книге по Си про строковые массивы очень мало написано. Кто подскажет хорошую ссылочку по этой теме? --------------------
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Слово это то что разделено пробелом. Т.е. разбиваешь строку с разделителем " ", потом начинаешь считать циклом...строку разбивай на слова фунцкией strtok.
Как делать смотри здесь www.cplusplus.com/ref/cstring/strtok.html потом вызываешь свою функцию например glasniy_simvol_exists(const char *p) которая возвращяет true если гласные в слове есть и false соотвественно если их нет.. И считаешь..вроде все остальное дело техники |
|||
|
||||
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
Попробую сделать. ОГРОМНОЕ СПАСИБО!!!
--------------------
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Будут вопросы стучи в ICQ. 173549200
|
|||
|
||||
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
У меня вопрос. Можно ли разбить строку также как функцией strtok, только с помощью цикла?
Если можно, то выложите пожалуйста код на Си. --------------------
|
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 0 Всего: 12 |
Вот, выложил. Но не проверял
Это сообщение отредактировал(а) Aleksandor - 3.12.2005, 23:39 -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| blackofe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 29.11.2005 Репутация: 4 Всего: 4 |
Aleksandor
не по существу вопроса: 'й' - не гласная буква. но зато к гласным относятся еще 'ы' и 'ё'. |
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 0 Всего: 12 |
А у меня на клаве нет ё (вставил из буфера
-------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
Спасибо. Попробую этот вариант.
--------------------
|
|||
|
||||
| Doc_d0s |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: 2 Всего: 3 |
число пробелов(разделителей)+1
--------------------
Админ- это вождь Apache'й :) |
|||
|
||||
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
А можно ли код программы, который написал Aleksandor написать какнибудь попроще для новичков и с объяснением назначения каждой вызываемой функции?
Помогите новичку разобраться. Спасибо. --------------------
|
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Weman.может перечислишь,какие ф-ции не понятны,а то код в себе не использует никаких сверх секретных ф-ций(если конечно число таких ф-ций не стримится к бесконечности),а после этого и как прога работает станет понятно
-------------------- Жизнь - печальная штука. |
|||
|
||||
| Weman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 29.11.2005 Где: Санкт-Петрбург Репутация: нет Всего: нет |
1)Возможно ли написать эту прогу без использования указателей?
2)Можно ли написать код без функции strtok(); 3)Что такое NULL, strlen(szLine) 4)Какого szLine типа? 5)Можно ли сделать, чтобы программа искала английские буквы, а не русские? --------------------
|
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Вот, совсем по-детски:
|
|||
|
||||
| blackofe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 29.11.2005 Репутация: 4 Всего: 4 |
а если встречаются несколько пробелов подряд? у американцев, к примеру, дурацкая практика - в конце предложения после точки ставить два пробела. или наоборот - слова разделены только запятой без пробела? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
тогда предварительно пройдись по тексту ( возможно несколько раз ) и удали все двойные пробелы
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Так а если там смайлики между словами написаны.Решение через пробелы -это схалявить.Тут как-то иначе.Разделитялями являются все символы кроме букв латинского и русского алфавита т е это не только пробелы,точки,запятые...Я бы сделал так:
Посимвольно шел по тексту,если встречается знак-разделитель,а предыдущий зна -это знак-неразделитель(для этого надо переменную типа bool обьявить),то увеличеваем счетчик на один.Так до канца.При этои символ '\0' будем тоже считать разделителем.Проблем как всегда в кодировке.Под латиницу писать от силы 20 минут(ИМХО),хотя это может только казаться. -------------------- Жизнь - печальная штука. |
|||
|
||||
| TeeT |
|
|||
|
Unregistered |
Без указателей нельзя, а вот без функции strtok можно, с помощью sscanf, только вот труднее получится,
Description Null pointer constant that is compatible with any data object pointer. It is not compatible with function pointers. When a pointer is equivalent to NULL it is guaranteed not to point to any data object defined within the program. А в принципе на Си все можно сделать |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
А кто сказал ,что с NULL('\0') какие-то проблемы??? -------------------- Жизнь - печальная штука. |
|||
|
||||
| blackofe |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 29.11.2005 Репутация: 4 Всего: 4 |
ну, какие же проблемы в кодировке? пользуйте locale, и будет вам щастье! ;) Добавлено @ 19:10
а еще подровнять абзацы, проверить орфографию и раскрасть шрифты всеми цветами радуги. сорри. Это сообщение отредактировал(а) blackofe - 6.12.2005, 19:08 |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |