在C ++中打印输入字符串中的所有重复项
在这个问题中,我们给了一个字符串,我们必须找到所有重复的字符以及它们在字符串中出现的次数。
让我们以一个例子来了解问题-
Input: nhooo Output: t (3) o (2) i (2)
说明-每个字符的出现频率为t→3;u→1;o→2;r→1;我→2;→1;s→1;n→1。
现在,要解决此问题,我们将找到字符计数并将其存储在字符串中的数组中。然后在频率处打印字符和出现的地方。大于1。
示例
# include <iostream>
using namespace std;
# define NO_OF_CHARS 256
class duplicate_char{
public :
void charCounter(char *str, int *count){
int i;
for (i = 0; *(str + i); i++)
count[*(str + i)]++;
}
void printDuplicateCharacters(char *str){
int *count = (int *)calloc(NO_OF_CHARS, sizeof(int));
charCounter(str, count);
int i;
for (i = 0; i < NO_OF_CHARS; i++)
if(count[i] > 1)
printf("%c\t\t %d \n", i, count[i]);
free(count);
}
};
int main(){
duplicate_char dupchar ;
char str[] = "nhooo";
cout<<"The duplicate characters in the string\n";
cout<<"character\tcount\n";
dupchar.printDuplicateCharacters(str);
return 0;
}输出结果
字符串字符计数中的重复字符
i 2 o 2 t 3
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西