在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 2o 2
t 3
以上是 在C ++中打印输入字符串中的所有重复项 的全部内容, 来源链接: utcz.com/z/322039.html