cho xâu S gồm các chữ cái kí tự là chữ cái tiếng anh và các chữ số(có phân biệt chữ in hoa và chữ in thường ) yêu cầu : vào từng file văn bản KITU.INP một dòng duy nhất là xâu kí tự S code c++ input: AzB1C9A1BC  ouput: 6 A

cho xâu S gồm các chữ cái kí tự là chữ cái tiếng anh và các chữ số(có phân biệt chữ in hoa và chữ in thường ) yêu cầu : vào từng file văn bản KITU.INP một dòng duy nhất là xâu kí tự S code c++ input: AzB1C9A1BC  ouput: 6 A  2 B 2 C 2 Z 1 1 2 9 1
Câu trả lời này dùng AI, hãy kiểm tra lại trước khi sử dụng
```cpp
#include
#include
#include
#include

using namespace std;

int main() {
ifstream input("KITU.INP");
ofstream output("KITU.OUT");

string S;
getline(input, S);

map frequency;

// Đếm tần suất của mỗi ký tự trong chuỗi S
for (char c : S) {
frequency[c]++;
}

// Ghi kết quả vào file OUT
output << frequency.size() << endl; // In số lượng ký tự khác nhau
for (const auto& pair : frequency) {
output << pair.first << " " << pair.second << endl; // In ký tự và tần suất
}

input.close();
output.close();
return 0;
}
```

Giải thích:
1. Input và Output: Chương trình đọc xâu ký tự từ file "KITU.INP" và ghi kết quả vào file "KITU.OUT".
2. Sử dụng map: `map` được dùng để lưu các ký tự (key) và số lần xuất hiện của chúng (value).
3. Vòng lặp: Duyệt qua từng ký tự trong xâu `S` và tăng giá trị tương ứng trong map.
4. Ghi kết quả: Đầu tiên ghi số lượng ký tự khác nhau vào file, sau đó ghi ký tự và tần suất của chúng trên các dòng tiếp theo.

Kết quả đầu ra sẽ hiển thị số ký tự khác nhau là 6, sau đó là danh sách các ký tự và tần suất của chúng.
Đăng phản hồi