Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <fstream>
- #include <map>
- #include <queue>
- using namespace std;
- struct SBinaryTree{
- };
- bool polishLetter(char& input){
- switch((int)input){
- case (-71): //ą
- return true;
- break;
- case (-91): //Ą
- input = (char)(-71); //zamień na małą
- return true;
- break;
- case (-26): //ć
- return true;
- break;
- case (-58): //Ć
- input = (char)(-26); //zamień na małą
- return true;
- break;
- case (-22): //ę
- return true;
- break;
- case (-54): //Ę
- input = (char)(-22); //zamień na małą
- return true;
- break;
- case (-77): //ł
- return true;
- break;
- case (-93): //Ł
- input = (char)(-77); //zamień na małą
- return true;
- break;
- case (-15): //ń
- return true;
- break;
- case (-47): //Ń
- input = (char)(-15); //zamień na małą
- return true;
- break;
- case (-13): //ó
- return true;
- break;
- case (-45): //Ó
- input = (char)(-13); //zamień na małą
- return true;
- break;
- case (-100): //ś
- return true;
- break;
- case (-116): //Ś
- input = (char)(-100); //zamień na małą
- return true;
- break;
- case (-97): //ź
- return true;
- break;
- case (-113): //Ź
- input = (char)(-97); //zamień na małą
- return true;
- break;
- case (-65): //ż
- return true;
- break;
- case (-81): //Ż
- input = (char)(-65); //zamień na małą
- return true;
- break;
- }
- return false;
- }
- void smallLetters(string& input){
- for(int i = 0; i < input.length(); i++){
- if(input[i] >= 'A' && input[i] <= 'Z')
- input[i] = (char)(input[i] + 32);
- if((input[i] < 'a' || input[i] > 'z') && !polishLetter(input[i]))
- input.erase(i);
- }
- }
- int main(){
- string temp;
- //Przerabianie
- queue<string> words;
- fstream inputText;
- inputText.open("text.txt", ios::in);
- if(inputText.good()){
- while(inputText){
- inputText >> temp;
- smallLetters(temp);
- if(!temp.empty())
- words.push(temp);
- temp.clear();
- }
- }
- inputText.close();
- map<string, int> wordsOccurence;
- //Wysłanie pierwszego wyrazu do mapy
- temp = words.front();
- words.pop();
- wordsOccurence[temp] = 1;
- map<string,int>::iterator it;
- temp.clear();
- while(!words.empty()){
- temp = words.front();
- words.pop();
- if(wordsOccurence.find(temp) != wordsOccurence.find("!"))
- wordsOccurence[temp]++;
- else
- wordsOccurence[temp] = 1;
- temp.clear();
- }
- fstream outputText;
- outputText.open("output.txt", ios::out);
- if(outputText.good()){
- for(map<string,int>::iterator it = wordsOccurence.begin(); it != wordsOccurence.end(); it++)
- outputText << "Słowo " << (*it).first << " wystąpiło " << (*it).second << " razy" << endl;
- }
- outputText.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment