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

Chương trình C++ in các từ duy nhất trong tệp


Tệp là vị trí bộ nhớ lưu trữ luồng từ. Trong một tệp có nhiều từ khác nhau. Chương trình này sẽ tìm tất cả các từ duy nhất từ tệp và in ra.

Từ duy nhất nghĩa là từ chỉ xuất hiện một lần trong tệp.

Ví dụ

Tutorials point is best for programming tutorials.

Ở đây, từ "tutorial" xuất hiện nhiều hơn một lần, do đó không phải từ duy nhất. Các từ còn lại đều duy nhất.

Thuật toán

Để kiểm tra từ duy nhất trong tệp cho trước. Sử dụng iterator với hai biến: data và occurrence.
Đầu vào: Tệp
Bước 1: Đọc từng dòng từ tệp và làm bước 2
Bước 2: Kiểm tra sự xuất hiện của từ trong cấu trúc dữ liệu dùng iterator.data.
    Bước 2.1: Nếu data khớp, tăng occurrence lên 1 cho data đó.
    Bước 2.2: Nếu data không khớp, thêm giá trị mới và đặt occurrence = 1.
Bước 3: Duyệt qua cấu trúc dữ liệu. Kiểm tra giá trị occurrence của mỗi giá trị.
    Bước 3.1: Nếu occurrence = 1 thì in data tương ứng, ngược lại không làm gì.

Ví dụ mã C++

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

int main() { 
    char filename[] = "test.txt"; 
    ofstream fs("test.txt", ios::trunc); 
    fs << "tutorials point is best for programming tutorials"; 
    fs.close(); 
    fstream fs("test.txt"); 
    map<string, int> mp; 
    string word; 
    while (fs >> word) { 
        if (!mp.count(word)) 
            mp.insert(make_pair(word, 1)); 
        else 
            mp[word]++; 
    } 
    fs.close(); 
    for (map<string, int>::iterator p = mp.begin(); p != mp.end(); p++) { 
        if (p->second == 1) 
            cout << p->first << endl; 
    } 
    return 0; 
}

Kết quả

best 
for 
is 
point 
programming