Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

In tất cả ký tự trùng lặp trong chuỗi trong C++


Cho chuỗi, tìm các ký tự trùng lặp và số lần xuất hiện.

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

Giải pháp: Đếm tần suất ký tự bằng mảng kích thước 256. In ký tự có tần suất > 1.

Chương trình minh họa

#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 << "Các ký tự trùng lặp trong chuỗi\n";
    cout << "ký tự\t\tsố lần\n";
    dupchar.printDuplicateCharacters(str);
    return 0;
}

Kết quả

i 2
o 2
t 3