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

In ký tự có tần suất lẻ theo thứ tự xuất hiện C++

Cho chuỗi. Chỉ in các ký tự có tần suất xuất hiện là số lẻ, theo thứ tự xuất hiện trong chuỗi. Ví dụ: "adatesaas" → d,t,e (tần suất: a=4, d=1, t=1, e=1, s=2).

Đếm tần suất + lọc số lẻ

Đếm freq[26]. Duyệt chuỗi: nếu freq[c] % 2 == 1 thì in c.

Ví dụ minh họa

#include <bits/stdc++.h>
using namespace std;

int main() {
    string str = "asdhfjdedsa";
    int freq[26] = {0};
    
    for (char c : str) freq[c-'a']++;
    
    for (char c : str)
        if (freq[c-'a'] % 2 == 1)
            cout << c << " , ";
    
    return 0;
}

Kết quả

d , h , f , j , d , e , d