Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #include <iostream>
  2. using std::string;
  3. #include<vector>
  4. #include <algorithm>
  5. #include <set>
  6. #include <string>
  7. #include <cstring>
  8. #include <map>
  9.  
  10. using namespace std;
  11. class Person{
  12. public:
  13. string email;
  14. string name;
  15. string surname;
  16. Person(string email_,string name_,string surname_):email(email_),name(name_),surname(surname_){};
  17. ~Person()=default;
  18. };
  19.  
  20. class SG{
  21. private:
  22. vector<Person> lista_osob;
  23. map<string,set<string>> obsertwatorzy;
  24. public:
  25. SG()=default;
  26. ~SG()=default;
  27.  
  28. bool addPerson(const char *email,const char *name, const char *surname) {
  29. /*Person osoba(email,name,surname);
  30. for(int i=0; i< lista_osob.size(); i++){
  31. if (lista_osob[i].email == string(email) ){
  32. return false;
  33. }
  34. }
  35. lista_osob.push_back(osoba); */
  36. /// Z STL///
  37. Person osoba(email, name, surname);
  38. auto check=find(lista_osob.begin(), lista_osob.end(),
  39. [&email](const Person &osoba) { return osoba.email == email; });
  40. if (check == lista_osob.end()) {
  41. lista_osob.push_back(osoba);
  42. }else { return false;}
  43. }
  44. bool removePerson(const char *email){
  45. obsertwatorzy.erase(string(email));
  46.  
  47. for (int i=0;i<lista_osob.size(); i++){
  48. if(lista_osob[i].email == email){
  49. lista_osob.erase(lista_osob.begin()+i);
  50. break;
  51. }
  52. }
  53.  
  54.  
  55. }
  56.  
  57. bool addFollower(const char *emailFrom,const char *emailTo){
  58. //powinno się sprawdzic czy osoba istnieje!
  59. auto check= find (lista_osob.begin(),lista_osob.end(),string(emailFrom));
  60. if (check == lista_osob.end()){cout<<"brak osoby" << endl;}
  61. obsertwatorzy.insert(pair<string,string>(string(emailFrom),string(emailTo)));
  62.  
  63. }
  64.  
  65. bool unfollow(const char *emailFrom,const char *emailTo){
  66. auto znaleziony =obsertwatorzy.find(string(emailFrom));
  67. znaleziony->second.clear();
  68. }
  69.  
  70. set<string> getDirectFollowers(const char *email){
  71. auto znaleziony =obsertwatorzy.find(string(email));
  72. return znaleziony->second;
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. set<string> getAllFollowers(const char *email){
  81. set<string> zbior;
  82. auto znaleziony =obsertwatorzy.find(string(email));
  83. zbior=znaleziony->second;
  84. for (int i=0; i< zbior.size();i++){
  85.  
  86.  
  87. }
  88.  
  89. }
  90.  
  91.  
  92. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement