Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.34 KB | None | 0 0
  1. bb
  2.  
  3. class Slownik{
  4. public:
  5.     void dodaj(const char* term, const char* znaczenie){
  6.         bool flaga = true;
  7.         for(auto& v : list){                  // nw czemu ale tutaj trza dać &  O.O
  8.             if(v.at(0) == term) {               // pewnie żeby mieć możliwość wstawienia
  9.                 v.emplace_back(znaczenie);
  10.                 flaga = false;
  11.             }
  12.         }
  13.         if(flaga){
  14.             std::vector<std::string> w;
  15.             w.emplace_back(term);
  16.             w.emplace_back(znaczenie);
  17.             list.emplace_back(w);
  18.         }
  19.     }
  20.  
  21.     std::list<std::string> szukaj(const char* term){
  22.         std::list<std::string> result;
  23.         for(auto v : list){
  24.             if(v.at(0) == term){
  25.                 for(size_t i=1; i< v.size(); i++){
  26.                     result.emplace_back(v.at(i));
  27.                 }
  28.             }
  29.         }
  30.         return result;
  31.     }
  32.  
  33.     void wyswietl(){
  34.         std::cout << "rozmiar: "<<list.size() << "\n";
  35.  
  36.         for(auto v : list){
  37.             for(auto s : v){
  38.                 std::cout << s << " ";
  39.             }
  40.             std::cout << "\n";
  41.         }
  42.     }
  43.  
  44.     void usun(const char* term){
  45.         std::vector<std::string> tmp;
  46.         for(auto v : list){
  47.             if(v.at(0) == term){
  48.                 tmp = v;
  49.             }
  50.         }
  51.         list.remove(tmp);
  52.     }
  53.  
  54.     void usun(const char* term, const char* znaczenie){
  55.         std::vector<std::string>::iterator tmp;
  56.         std::vector<std::string> t;
  57.         bool flag = false;
  58.         for(auto& v : list){                             // usuwamy z wektorka więc: &
  59.             if(v.at(0) == term){
  60.                 for(auto i = v.begin(); i< v.end(); i++){
  61.                     if(*i == znaczenie){
  62.                         flag = true;
  63.                         tmp = i;
  64.                     }
  65.                 }
  66.                 if(flag){
  67.                     v.erase(tmp);
  68.                     flag =false;
  69.                 }
  70.                 if(v.size() == 1){
  71.                     flag = true;
  72.                     t = v;
  73.                 }
  74.             }
  75.         }
  76.         if(flag)
  77.             list.remove(t);
  78.     }
  79.  
  80.  
  81.  
  82. private:
  83.     std::list<std::vector<std::string>> list;
  84.  
  85.     // lista wektorów gdzie pierwszy element to termin a
  86.     // następne elementy to znaczenia
  87. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement