Facebook
From Bistre Pig, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 228
  1. #include <iostream>
  2. #include <time.h>
  3. #include <cstdlib>
  4. #include <iomanip>
  5. #include <stdlib.h>
  6. using namespace std;
  7.  
  8.  
  9. /*—Zad.       2.      Zaimplementuj   podstawowe      operacje        wykonywane      na      kolejce
  10. — dodanie     elementu        do      kolejki
  11. void add (ele* &poczkol, ele* &konkol, int x)
  12. — pobranie    pierwszego      elementu        kolejki i       zwrócenie      go      jako    wartości       funkcji
  13. int next(ele* &poczkol, ele* &konkol)
  14. — zwrócenie  (wartości)     elementu        z       początku       kolejki bez     jego    usuwania       
  15. int firstEl(ele* poczkol)
  16. — sprawdzenie czy     kolejka jest    pusta  
  17. bool isEmpty(ele* poczkol)
  18. }*/
  19.  
  20.  
  21. struct element{
  22. int liczba;
  23. element* nastepny;
  24. };
  25. //ZAD 1
  26. //a) Dodanie elementu do kolejki
  27. void add(element* &poczkol, element* &konkol, int &x){
  28.         element *nowy;
  29.         if ((poczkol == NULL) && (konkol == NULL)){
  30.                 nowy = konkol;
  31.                 konkol=new element;
  32.                 konkol->liczba = x;
  33.                 konkol->nastepny = nowy;
  34.                 poczkol = konkol;
  35.         }
  36.         else{
  37.                 nowy = new element;
  38.                 nowy->liczba = x;
  39.                 nowy->nastepny=konkol->nastepny;
  40.                 konkol->nastepny=nowy;
  41.                 konkol = nowy;
  42.         }
  43. }
  44. //b) pobranie elementu z kolejki
  45. int next(element* &poczkol, element* &konkol){
  46.         if (poczkol == 0){
  47.                 cout << "Kolejka jest pusta" << endl;
  48.                 return 0;
  49.         }
  50.         else{
  51.                 element * temp = poczkol;
  52.                 poczkol = poczkol->nastepny;
  53.                 int x = temp->liczba;
  54.                 delete temp;
  55.                 cout << "Pobralem z kolejki liczbe: " << x << endl;
  56.                 return x;
  57.         }
  58.        
  59. }
  60. //c) wyswietlenie pierwszego elementu w kolejce
  61. int firstEle(element* &poczkol){
  62.     if(poczkol == 0)
  63.     {
  64.         cout << "Kolejka jest pusta" << endl;
  65.         return NULL;
  66.     }
  67.     else
  68.     {
  69.         cout << "Na poczatku kolejki jest liczba: " << poczkol->liczba << endl;
  70.             return poczkol->liczba;
  71.     }
  72. }
  73. //d) sprawdz czy kolejka jest pusta
  74. bool isEmpty(element* &poczkol){
  75.         if (poczkol == 0){
  76.                 cout << "Kolejka jest pusta" << endl;
  77.                 return 1;
  78.         }
  79.         else{
  80.                 cout << "W kolejce jest minimum jeden element" << endl;
  81.                 return 0;
  82.         }
  83.                
  84. }
  85.  
  86.  
  87.  
  88. void pokazMenu()
  89. {
  90.         system("cls");
  91.         cout << "1. Dodaj element do kolejki n" << "2. Pobierz pierwszy element kolejki n" << "3. Wyswietl pierwszy element kolejki n" << "4. Sprawdz czy kolejka jest pusta n" << "5. Wyjscie n" << endl << "Wybor: ";
  92. }
  93.  
  94.  
  95.  
  96. int main(int argc, char** argv) {
  97.  
  98. int pobranaLiczba;
  99. int wybor;
  100.  
  101. element *k1 = new element;
  102. k1 = 0;
  103. element * koniecKolejki = new element;
  104. koniecKolejki = 0;
  105.  
  106.  
  107.  
  108.  
  109. do
  110. {
  111. pokazMenu();
  112. cin >> wybor;  
  113. switch(wybor)
  114. {
  115.         case 1:
  116.         {
  117.                 cout << "Podaj liczbe ktora chcesz wrzucic do kolejki: ";
  118.                 cin >> pobranaLiczba;
  119.                 add(k1, koniecKolejki, pobranaLiczba);
  120.                 system("PAUSE");
  121.                 break;
  122.         }
  123.         case 2:
  124.         {
  125.                 next(k1, koniecKolejki);
  126.                 system("PAUSE");
  127.                 break;
  128.                        
  129.         }
  130.         case 3:
  131.         {
  132.         firstEle(k1);
  133.         system("PAUSE");
  134.         break;
  135.         }
  136.         case 4:
  137.         {
  138.         isEmpty(k1);   
  139.         system("PAUSE");
  140.         break;
  141.         }      
  142. }
  143. }while (wybor != 5);
  144.  
  145. }
  146.