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

파일에서 고유한 단어를 인쇄하는 C++ 프로그램

<시간/>

파일은 단어 스트림을 저장하는 메모리 위치입니다. 파일에는 다양한 단어가 있습니다. 이 프로그램에서는 파일에서 고유한 단어를 모두 찾아 인쇄합니다.

독특한 단어는 파일에서 단어의 출현 횟수가 1개임을 의미합니다.

예를 들어,

Tutorials point is best for programming tutorials.

여기에서 tutorial이라는 단어는 두 번 이상 발생하므로 고유하지 않습니다. 나머지 모든 단어는 고유합니다.

알고리즘

To check for unique words in the given file.
Using iterator with two variables : data and occurence.
Input : File
Step 1 : Read each line from the file and follow step 2
Step 2 : check for the occurence of the word in the data structure using interator.data.
   Step 2.1 : if data matches increase the occurrence by one corresponding to the data.
   Step 2.2 : if data does not match add new value and set its occurence to one.
Step 3: Iterate over the date structure. And check for occurence value of each value.
   Step 3.1 : If the occerence is equals to 1 then prints the data corresponding it else do nothing.

예시

#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;
}

출력

best
for
is
point
Programming