Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 입력 문자열의 모든 중복을 인쇄합니다.


이 문제에서는 문자열이 주어지고 문자열에서 발생하는 횟수와 함께 중복되는 모든 문자를 찾아야 합니다.

문제를 이해하기 위해 예를 들어 보겠습니다 -

Input:
TutorialsPoint
Output:
t (3)
o (2)
i (2)

설명 - 각 문자의 발생 빈도는 t → 3입니다. 유 → 1; o → 2; r → 1; 나는 → 2; a → 1; s → 1; n → 1.

이제 이 문제를 해결하기 위해 문자 수를 찾아 문자열에서 배열에 저장합니다. 그런 다음 freq에 문자와 발생을 인쇄하십시오. 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[] = "tutorialspoint";
   cout<<"The duplicate characters in the string\n";
   cout<<"character\tcount\n";
   dupchar.printDuplicateCharacters(str);
   return 0;
}

출력

stringcharacter count의 중복 문자

i 2
o 2
t 3