Как найти количество вхождений слов в строковом абзаце, используя указатели в C ++ Pgm за одну итерацию? - PullRequest
1 голос
/ 20 января 2012

предположим, у меня есть следующий абзац строк. «Лента предполагает, что команда корабля Costa Concordia упомянула только« затемнение »в сообщении с итальянскими официальными лицами после удара о скалы. удары по камням. "

Теперь я должен написать C ++ pgm, который при однократном обходе выдает: А 2 лента 2 предлагает 2 2 ......... и т. д.

Примечание: только одна итерация, без петли. используя указатели.

Ответы [ 2 ]

1 голос
/ 20 января 2012

Просматривая текст, запишите, какие слова вы уже видели и сколько раз вы видели каждое из них.

Затем, когда вы закончите, распечатайте результаты.

0 голосов
/ 20 января 2012

Вы должны показать нам, что вы уже написали.
Если вы застряли и предполагаете, что пишете на C (вы говорили о указателе), взгляните на

  • strtok - разбить строку на токены

Тогда операция будет линейной с хеш-таблицей (n вызовов strtok, ~ O (1) доступ к хешу на каждой итерации, плюс вставка ~ O (1), если слово не существует).
Хэш-таблицу может быть сложно написать в полном C (но вы можете посмотреть на дерево префиксов, например). Вы можете использовать libc hash table , или, если это опция, используйте c ++ map .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...