在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

以上是 在C ++中打印输入字符串中的所有重复项 的全部内容, 来源链接: utcz.com/z/322039.html

回到顶部