我试图使用 strcmp 比较数组的单词。我试图让在数组中出现多次的每个单词只打印一次,这样我就可以确定唯一单词的数量。我知道它在什么时候做错了什么搜索它打印出它找到的每个副本的数组,例如,如果单词“the”在数组中出现 4 次,它将打印出 'the' 3 次,当string1
转到下一个 'the' 所在的位置时,它将打印 2 次,以此类推。
问问题
502 次
2 回答
2
将您的 char 数组转换为std::string
而不是打印它们,而是将它们放入std::set
. 然后打印集合中的每个元素。
于 2011-09-18T04:22:01.650 回答
1
很好,你添加了声明,
现在从看起来好像 words[][] 是多余的,并使事情变得不必要的复杂。如果您只对获取唯一单词感兴趣,则只需通过使用遇到的单词构建字典来处理从 strtrok 返回的内容
字典可以像包含唯一单词的最大大小数组一样简单,当数组为空时,索引从 0 开始,每当 strtok 返回一个单词时,遍历数组并使用 strcmp 查找单词,如果它没有'不存在将其添加到数组的末尾,然后递增然后索引。
鲍勃是你的叔叔:)
于 2011-09-18T04:47:05.317 回答