Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.11 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. #include <stack>
  5. #include <vector>
  6. #include <queue>
  7.  
  8. using namespace std;
  9.  
  10. void menu() {
  11.     cout << "d - dodaj element\n"
  12.         << "p - pobierz skrajne\n"
  13.         << "n - pobierz n'ty element\n"
  14.         << "s - sprawdz czy jest taki element\n"
  15.         << "w - wyswietl wielkosc struktury\n"
  16.         << "e - sprawdz czy struktura jest pusta ";
  17. }
  18.  
  19. int main() {
  20.     int a;
  21.     int x;
  22.     char struktura;
  23.     stack <int> stos;
  24.     stack <int> pom;
  25.     queue <int> kolejka;
  26.     queue <int> kol;
  27.     vector <int> wektor;
  28.     vector <int> p;//wektora pomocniczy
  29.  
  30.     cout << "wybierz strukture:\n"
  31.         << "s - stos\n"
  32.         << "k - kolejka\n"
  33.         << "w - wektor\n"
  34.         << "x - zakoncz program\n";
  35.     cin >> struktura;
  36.     bool loop = true;
  37.     char operacja = 't';
  38.     switch (struktura) {
  39.     case 's':
  40.         cout << "wybrales stos\n";
  41.         menu();
  42.         while (loop == true) {
  43.             switch (operacja) {
  44.             case 'd':
  45.                 cout << "podaj liczbe calkowita\n";
  46.                 cin >> a;
  47.                 stos.push(a);
  48.                 break;
  49.             case 'p':
  50.                 pom = stos;
  51.                 cout << stos.top() << " ";
  52.                 for (int i = 0; i < pom.size() - 1; i++) pom.pop();
  53.                 cout << pom.top();
  54.                 break;
  55.             case 'n':
  56.                 cout << "ktory element wyswietlic\n";
  57.                 cin >> a;
  58.                 pom = stos;
  59.                 for (int i = 0; i < pom.size() - a; i++) pom.pop();
  60.                 cout << " " << pom.top();
  61.                 break;
  62.             case 's':
  63.                 pom = stos;
  64.                 cout << "podaj element do sprawdzenia\n";
  65.                 cin >> a;
  66.                 x = 0;
  67.                 for (int i = 0; i < pom.size(); i++)
  68.                 {
  69.                     if (x != pom.top()) pom.pop();
  70.                     else {
  71.                         x++;
  72.                         break;
  73.                     }
  74.                 }
  75.                 if (x != 0)cout << "element nie nalezy do stosu\n";
  76.                 else cout << "element nalezy do stosu\n";
  77.                 break;
  78.             case 'w':
  79.                 cout << "wielkosc struktury: " << stos.size() << endl;
  80.                 break;
  81.             case 'e':
  82.                 if (stos.empty()) cout << "stos jest pusty" << endl;
  83.                 else cout << "stos nie jest pusty";
  84.             }
  85.         }
  86.  
  87.     case 'k':
  88.         cout << "wybrales kolejka\n";
  89.         menu();
  90.         while (loop == true) {
  91.             while (loop == true) {
  92.                 switch (operacja) {
  93.                 case 'd':
  94.                     cout << "podaj liczbe calkowita\n";
  95.                     cin >> a;
  96.                     kolejka.push(a);
  97.                     break;
  98.                 case 'p':
  99.                     cout << kolejka.front() << " " << kolejka.back();
  100.                     break;
  101.                 case 'n':
  102.                     cout << "ktory element wyswietlic\n";
  103.                     cin >> a;
  104.                     kol = kolejka;
  105.                     for (int i = 0; i < a; i++)
  106.                         kol.pop();
  107.                     cout << " " << kol.front();
  108.                     break;
  109.                 case 's':
  110.                     kol = kolejka;
  111.                     cout << "podaj element do sprawdzenia\n";
  112.                     cin >> a;
  113.                     x = 0;
  114.                     for (int i = 0; i < kol.size(); i++)
  115.                     {
  116.                         if (x != kol.front()) kol.pop();
  117.                         else {
  118.                             x++;
  119.                             break;
  120.                         }
  121.                     }
  122.                     if (x != 0)cout << "element nie nalezy do kolejki\n";
  123.                     else cout << "element nalezy do kolejki\n";
  124.                     break;
  125.                 case 'w':
  126.                     cout << "wielkosc struktury: " << kolejka.size() << endl;
  127.                     break;
  128.                 case 'e':
  129.                     if (stos.empty())cout << "kolejka jest pusta\n";
  130.                     else cout << "kolejka nie jest pusta\n";
  131.                 }
  132.             }
  133.         }
  134.         break;
  135.     case 'w':
  136.         cout << "wybrales wektor\n";
  137.         menu();
  138.         while (loop == true) {
  139.             switch (operacja) {
  140.             case 'd':
  141.                 cout << "podaj liczbe calkowita\n";
  142.                 cin >> a;
  143.                 wektor.push_back(a);
  144.                 break;
  145.             case 'p':
  146.                 cout << "pierwszy: " << wektor.front() << endl;
  147.                 cout << "ostatni: " << wektor.back() << endl;
  148.                 break;
  149.             case 'n':
  150.                 cout << "ktory element wyswietlic\n";
  151.                 cin >> a;
  152.                 p = wektor;//kopia naszego wektora
  153.                 for (int i = 0; i < p.size() - a; i++)
  154.                     p.pop_back();
  155.                 cout << p.front();
  156.                 break;
  157.             case 's':
  158.                 p = wektor;
  159.                 cout << "podaj element do sprawdzenia\n";
  160.                 cin >> a;
  161.                 x = 0;
  162.                 for (int i = 0; i < p.size(); i++)
  163.                 {
  164.                     if (x != p.back()) p.pop_back();
  165.                     else x++;
  166.                 }
  167.                 if (x != 0)cout << "element nie nalezy do wektora\n";
  168.                 else cout << "element nalezy do wektora\n";
  169.                 break;
  170.             case 'w':
  171.                 cout << "wielkosc struktury: " << wektor.size() << endl;
  172.                 break;
  173.             case 'e':
  174.                 if (wektor.empty())cout << "wektor jest pusty\n";
  175.                 else cout << "wektor nie jest pusty\n";
  176.             }
  177.         }
  178.         break;
  179.     case 'x':
  180.         loop = false;
  181.         break;
  182.  
  183.     }
  184.  
  185.  
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement