Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <stack>
- #include <vector>
- #include <queue>
- using namespace std;
- void menu() {
- cout << "d - dodaj element\n"
- << "p - pobierz skrajne\n"
- << "n - pobierz n'ty element\n"
- << "s - sprawdz czy jest taki element\n"
- << "w - wyswietl wielkosc struktury\n"
- << "e - sprawdz czy struktura jest pusta ";
- }
- int main() {
- int a;
- int x;
- char struktura;
- stack <int> stos;
- stack <int> pom;
- queue <int> kolejka;
- queue <int> kol;
- vector <int> wektor;
- vector <int> p;//wektora pomocniczy
- cout << "wybierz strukture:\n"
- << "s - stos\n"
- << "k - kolejka\n"
- << "w - wektor\n"
- << "x - zakoncz program\n";
- cin >> struktura;
- bool loop = true;
- char operacja = 't';
- switch (struktura) {
- case 's':
- cout << "wybrales stos\n";
- menu();
- while (loop == true) {
- switch (operacja) {
- case 'd':
- cout << "podaj liczbe calkowita\n";
- cin >> a;
- stos.push(a);
- break;
- case 'p':
- pom = stos;
- cout << stos.top() << " ";
- for (int i = 0; i < pom.size() - 1; i++) pom.pop();
- cout << pom.top();
- break;
- case 'n':
- cout << "ktory element wyswietlic\n";
- cin >> a;
- pom = stos;
- for (int i = 0; i < pom.size() - a; i++) pom.pop();
- cout << " " << pom.top();
- break;
- case 's':
- pom = stos;
- cout << "podaj element do sprawdzenia\n";
- cin >> a;
- x = 0;
- for (int i = 0; i < pom.size(); i++)
- {
- if (x != pom.top()) pom.pop();
- else {
- x++;
- break;
- }
- }
- if (x != 0)cout << "element nie nalezy do stosu\n";
- else cout << "element nalezy do stosu\n";
- break;
- case 'w':
- cout << "wielkosc struktury: " << stos.size() << endl;
- break;
- case 'e':
- if (stos.empty()) cout << "stos jest pusty" << endl;
- else cout << "stos nie jest pusty";
- }
- }
- case 'k':
- cout << "wybrales kolejka\n";
- menu();
- while (loop == true) {
- while (loop == true) {
- switch (operacja) {
- case 'd':
- cout << "podaj liczbe calkowita\n";
- cin >> a;
- kolejka.push(a);
- break;
- case 'p':
- cout << kolejka.front() << " " << kolejka.back();
- break;
- case 'n':
- cout << "ktory element wyswietlic\n";
- cin >> a;
- kol = kolejka;
- for (int i = 0; i < a; i++)
- kol.pop();
- cout << " " << kol.front();
- break;
- case 's':
- kol = kolejka;
- cout << "podaj element do sprawdzenia\n";
- cin >> a;
- x = 0;
- for (int i = 0; i < kol.size(); i++)
- {
- if (x != kol.front()) kol.pop();
- else {
- x++;
- break;
- }
- }
- if (x != 0)cout << "element nie nalezy do kolejki\n";
- else cout << "element nalezy do kolejki\n";
- break;
- case 'w':
- cout << "wielkosc struktury: " << kolejka.size() << endl;
- break;
- case 'e':
- if (stos.empty())cout << "kolejka jest pusta\n";
- else cout << "kolejka nie jest pusta\n";
- }
- }
- }
- break;
- case 'w':
- cout << "wybrales wektor\n";
- menu();
- while (loop == true) {
- switch (operacja) {
- case 'd':
- cout << "podaj liczbe calkowita\n";
- cin >> a;
- wektor.push_back(a);
- break;
- case 'p':
- cout << "pierwszy: " << wektor.front() << endl;
- cout << "ostatni: " << wektor.back() << endl;
- break;
- case 'n':
- cout << "ktory element wyswietlic\n";
- cin >> a;
- p = wektor;//kopia naszego wektora
- for (int i = 0; i < p.size() - a; i++)
- p.pop_back();
- cout << p.front();
- break;
- case 's':
- p = wektor;
- cout << "podaj element do sprawdzenia\n";
- cin >> a;
- x = 0;
- for (int i = 0; i < p.size(); i++)
- {
- if (x != p.back()) p.pop_back();
- else x++;
- }
- if (x != 0)cout << "element nie nalezy do wektora\n";
- else cout << "element nalezy do wektora\n";
- break;
- case 'w':
- cout << "wielkosc struktury: " << wektor.size() << endl;
- break;
- case 'e':
- if (wektor.empty())cout << "wektor jest pusty\n";
- else cout << "wektor nie jest pusty\n";
- }
- }
- break;
- case 'x':
- loop = false;
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement