Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- #if !defined( _RIESENIE_H_ )
- #define _RIESENIE_H_
- #include <fstream>
- #include <sstream>
- #include <vector>
- #include <set>
- #include <map>
- using namespace std;
- bool DUMMY_BOOL = true;
- int DUMMY_INT = 0;
- string DUMMY_STRING = "";
- //1.uloha
- class SLOVNIK{
- map<string, string> slova; // slovenske slovo,preklad
- public:
- int pocetSlov();
- bool vlozSlovoPlusPreklady(const string &vstup);
- bool pridajSlovo(const string &slovo, const string &preklad);
- bool skontrolujPreklad(const string &slovo, const string &preklad);
- int pocetPrekladov(const string &slovo);
- //2.uloha
- bool nacitajZoSuboru(const string &menoSuboru);
- //3.uloha
- void vytvorOpacnySlovnik(const SLOVNIK &slovnik);
- //4.uloha
- const string usporiadanyZoznamPrekladov(const string &slovo);
- const string usporiadanyZoznamSlov();
- //5.uloha
- void nacitajDvaSlovniky(const SLOVNIK &s1, const SLOVNIK &s2);
- };
- string zamenCharaktery(const string &vstup, const char co, const char za){
- string vystup = "";
- for (int i=0;i<vstup.length();i++)
- {
- vystup += (vstup[i] == co) ? za : vstup[i];
- }
- return vystup;
- }
- unsigned int spocitajVyskytCharakteru(const string &vstup, const char co){
- int pocet = 0;
- for (int i=0;i<vstup.length();i++)
- {
- if (vstup[i]== co)
- {
- pocet++;
- }
- }
- return pocet;
- }
- //1.uloha
- int SLOVNIK::pocetSlov(){
- map<string,string>::iterator it;
- int pocet=0;
- for (it = slova.begin(); it != slova.end(); it++)
- {
- pocet++;
- }
- return pocet;
- }
- bool SLOVNIK::vlozSlovoPlusPreklady(const string &vstup0){
- string skslovo,preklady;
- size_t found,pos;
- found=vstup0.find("=");
- if (found!=string::npos and found<(vstup0.length()-1))
- {
- skslovo=vstup0.substr(0,found);
- preklady=vstup0.substr(found+1);
- preklady=zamenCharaktery(preklady,' ','_');
- preklady=zamenCharaktery(preklady,',',' ');
- //cout << skslovo << " " <<preklady <<endl;
- istringstream ist(preklady);
- string buf;
- while (ist >> buf)
- {
- pridajSlovo(skslovo,zamenCharaktery(buf,'_',' '));
- }
- return true;
- }
- return false;
- }
- bool SLOVNIK::pridajSlovo(const string &slovo, const string &preklad){
- if (slovo == "" or preklad == "")
- {
- return false;
- }
- if (skontrolujPreklad(slovo,preklad))
- {
- return false;
- }
- map<string, string>::iterator it;
- it=slova.find(slovo);
- if(it == slova.end() )
- {
- slova.insert(pair<string,string>(slovo, preklad));
- return true;
- }else
- {
- it->second = it->second +','+preklad;
- return true;
- }
- }
- bool SLOVNIK::skontrolujPreklad(const string &slovo, const string &preklad){
- if (preklad == "" ){
- return false;
- }
- map<string, string>::iterator it;
- it=slova.find(slovo);
- if(it == slova.end() )
- {
- return false;
- }else
- {
- size_t found;
- found=it->second.find(preklad);
- if (found!=string::npos)
- {
- return true;
- }else
- {
- return false;
- }
- }
- }
- int SLOVNIK::pocetPrekladov(const string &slovo) {
- return DUMMY_INT;
- }
- const string SLOVNIK::usporiadanyZoznamPrekladov(const string &slovo){
- return DUMMY_STRING;
- }
- bool SLOVNIK::nacitajZoSuboru(const string &menoSuboru){
- return DUMMY_BOOL;
- }
- void SLOVNIK::vytvorOpacnySlovnik(const SLOVNIK &s){
- }
- const string SLOVNIK::usporiadanyZoznamSlov(){
- return DUMMY_STRING;
- }
- void SLOVNIK::nacitajDvaSlovniky(const SLOVNIK &s1, const SLOVNIK &s2){
- }
- #endif
Add Comment
Please, Sign In to add comment