Advertisement
Coriic

Untitled

Jun 16th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #include <vector>
  2. #include <string>
  3.  
  4. class SP{
  5. private:
  6. class wezel{
  7. public:
  8. std::vector<wezel*> krawedzie;
  9. std::string napis;
  10. };
  11. std::vector<wezel> wierzcholki;
  12. public:
  13. void dodaj(const char* v);
  14. void usun(const char*v);
  15. void dodajKrawedz(const char* os1, const char* os2);
  16. void zlacz(const char* os1, const char* os2);
  17. };
  18.  
  19. void SP::dodaj(const char* v){
  20. wezel tmp;
  21. tmp.napis=v;
  22. wierzcholki.push_back(tmp);
  23. }
  24.  
  25. void SP::usun(const char* v){
  26. for(int i=0; i<wierzcholki.max_size(); i++){
  27. if(wierzcholki[i].napis.c_str()==v){
  28. wierzcholki.erase(wierzcholki.begin()+i);
  29. }
  30. }
  31. }
  32.  
  33. void SP::dodajKrawedz(const char *os1, const char *os2) {
  34. int i1, i2;
  35. bool czy=true;
  36. for(int i=0; i<wierzcholki.max_size(); i++){
  37. if(wierzcholki[i].napis.c_str()==os1){
  38. i1=i;
  39. }
  40. if(wierzcholki[i].napis.c_str()==os2){
  41. i2=i;
  42. }
  43. }
  44. for(int i=0; i<wierzcholki[i1].krawedzie.max_size(); i++){
  45. if(wierzcholki[i1].krawedzie[i]==&wierzcholki[i2]){
  46. czy=false;
  47. }
  48. }
  49. if(czy) wierzcholki[i1].krawedzie.push_back(&wierzcholki[i2]);
  50. }
  51.  
  52. void SP::zlacz(const char *os1, const char *os2) {
  53. int i1, i2;
  54. for(int i=0; i<wierzcholki.max_size(); i++){
  55. if(wierzcholki[i].napis.c_str()==os1){
  56. i1=i;
  57. }
  58. if(wierzcholki[i].napis.c_str()==os2){
  59. i2=i;
  60. }
  61. }
  62. int size=wierzcholki[i2].krawedzie.max_size();
  63. for(int i=0; i<size; i++){
  64. wierzcholki[i1].krawedzie.push_back(wierzcholki[i2].krawedzie[i]);
  65. }
  66. wierzcholki.erase(wierzcholki.begin()+i2);
  67. }
  68.  
  69.  
  70.  
  71. int main(){
  72. SP graf;
  73. graf.dodaj("pies");
  74. return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement