Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.05 KB | None | 0 0
  1. #include <iomanip>
  2. #include <iostream>
  3. #include <fstream>
  4.  
  5. const char DFV[] = "duomenys.txt";
  6. const char RFV[] = "rezultatas.txt";
  7.  
  8. using namespace std;
  9.  
  10. int stack[100], PradinisStekas[100],choice,n,StekoVirsus,x,i;
  11.  
  12. // Funkcijos --------------------
  13. void IterptiISteka(void);
  14. void PasalintiIsSteko(void);
  15. void RodytiStekoElementus(void);
  16. // ------------------------------
  17. int main()
  18. {
  19.     int k = 0;
  20.     StekoVirsus=-1;
  21.     cout << ("\n Iveskite koks bus steko dydis[MAX=100]:");
  22.     cin >> n;
  23.     ifstream df (DFV);
  24.     // Nuskaitomi elementai is failo
  25.  
  26.     while(!df.eof()){
  27.         df >> x;
  28.         StekoVirsus++;
  29.         k = StekoVirsus; // Issaugoma pradine steko virsaus reiksme
  30.         stack[StekoVirsus] = x;
  31.         PradinisStekas[StekoVirsus] = stack[StekoVirsus]; // Issaugoma pradinio steko kopija
  32.     }
  33.     RodytiStekoElementus();
  34.     cout << ("\n\t STEKO OPERACIJOS");
  35.     cout << ("\n\t--------------------------------");
  36.     cout << ("\n\t 1.ITERPTI\n\t 2.PASALINTI\n\t 3.UZDARYTI PROGRAMA\n\t");
  37.     do
  38.     {
  39.         printf("\n Iveskite pasirinkima:");
  40.         cin >> choice;
  41.         switch(choice)
  42.         {
  43.             case 1:
  44.             {
  45.                 IterptiISteka();
  46.                 RodytiStekoElementus();
  47.                 break;
  48.             }
  49.             case 2:
  50.             {
  51.                 PasalintiIsSteko();
  52.                 RodytiStekoElementus();
  53.                 break;
  54.             }
  55.             case 3:
  56.             {
  57.                 ofstream fr (RFV);
  58.                
  59.                 // Irasomos pradines steko reiksmes i faila
  60.                 fr << "Pradinis stekas: ";
  61.                 for (i = k; i >= 0; i--) fr << PradinisStekas[i] << " ";
  62.                
  63.                 // Irasomos galutines steko reiksmes i faila
  64.                 fr << "\nGalutinis stekas: ";
  65.                 for(i=StekoVirsus; i>=0; i--) fr << stack[i] << " ";
  66.                
  67.                 cout << ("\n\t PABAIGA ");
  68.                 break;
  69.             }
  70.             default:
  71.             {
  72.                 cout << ("\n\t Iveskite teisinga pasirinkima(1/2/3)");
  73.             }
  74.  
  75.         }
  76.     }
  77.     while(choice!=3);
  78.     return 0;
  79. }
  80.  
  81. // Funkcija kuri iterpia elementa i steka
  82. void IterptiISteka()
  83. {
  84.     if(StekoVirsus>=n-1)
  85.     {
  86.         cout << ("\n\tStekas pilnas!");
  87.  
  88.     }
  89.     else
  90.     {
  91.         cout << (" Iveskite skaiciu, kuri norite iterpti:");
  92.         cin >> x;
  93.         StekoVirsus++;
  94.         stack[StekoVirsus]=x;
  95.     }
  96. }
  97.  
  98. // Funkcija, kuri pasalina elementa is steko
  99. void PasalintiIsSteko()
  100. {
  101.     if(StekoVirsus<=-1)
  102.     {
  103.         cout << ("\n\t Stekas tuscias!");
  104.     }
  105.     else
  106.     {
  107.         cout << "\n\t Pasalintas elementas is steko yra " << stack[StekoVirsus];
  108.         StekoVirsus--;
  109.     }
  110. }
  111.  
  112. // Funkcija, kuri rodo steko elementus
  113. void RodytiStekoElementus()
  114. {
  115.     if(StekoVirsus>=0)
  116.     {
  117.         cout << ("\n ELEMENTAI STEKE \n");
  118.         for(i=StekoVirsus; i>=0; i--)
  119.             cout << stack[i] << endl;
  120.         cout << ("\n Iveskite kuria operacija norite atlikti: ");
  121.     }
  122.     else
  123.     {
  124.         cout << ("\n Stekas yra tuscias!");
  125.     }
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement