Advertisement
Razorspined

Untitled

Jan 18th, 2023
1,018
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. class Kola {
  8. public:
  9.     // small medium large
  10.     string razmer;
  11.     int number;
  12.  
  13.     Kola() {
  14.  
  15.     }
  16. };
  17.  
  18. class Parkomqsto {
  19. private:
  20.     string razmer;
  21.     int number;
  22.     bool zaeto; // true, false
  23.     friend class Parking;
  24.  
  25. public:
  26.     Parkomqsto() {}
  27.  
  28.     Parkomqsto(string r) {
  29.         razmer = r;
  30.         zaeto = false;
  31.     }
  32.  
  33.  
  34.     void operator+(Kola k) {
  35.         if (razmer == k.razmer) {
  36.             zaeto = true;
  37.             number = k.number;
  38.         }
  39.     }
  40.     // return type      name        ()      {}
  41. };
  42.  
  43. class Parking {
  44. public:
  45.     vector<Parkomqsto> mesta;
  46.  
  47.     void obshtiMestaPoRazmeri() {
  48.         int small = 0;
  49.         int medium = 0;
  50.         int large = 0;
  51.         // S S M L M
  52.         for (Parkomqsto p : mesta) {
  53.             if (p.razmer == "S") {
  54.                 small++;
  55.             }
  56.             else if (p.razmer == "M") {
  57.                 medium++;
  58.             }
  59.             else if (p.razmer == "L") {
  60.                 large++;
  61.             }
  62.         }
  63.         cout << small << "," << medium << "," << large << endl;
  64.     }
  65.  
  66.     void svobodniMesta(string s) {
  67.         int counter = 0;
  68.  
  69.         for (Parkomqsto p : mesta) {
  70.             if (p.razmer == s && p.zaeto == false) {
  71.                 counter++;
  72.             }
  73.         }
  74.         cout << counter << endl;
  75.     }
  76. };
  77.  
  78.  
  79. int main() {
  80.     Kola k;
  81.     k.razmer = "S";
  82.  
  83.     Kola k2;
  84.     k2.razmer = "M";
  85.  
  86.     Kola k3;
  87.     k3.razmer = "L";
  88.  
  89.     Parkomqsto p1("S");
  90.     Parkomqsto p2("S");
  91.     Parkomqsto p3("M");
  92.  
  93.     Parking p;
  94.     p.mesta = {p1, p2, p3};
  95.     p2 + k;
  96.     p.obshtiMestaPoRazmeri();
  97.     p.svobodniMesta("S");
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement