Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iomanip>
- #include <iostream>
- #include <fstream>
- const char DFV[] = "duomenys.txt";
- const char RFV[] = "rezultatas.txt";
- using namespace std;
- int stack[100], PradinisStekas[100],choice,n,StekoVirsus,x,i;
- // Funkcijos --------------------
- void IterptiISteka(void);
- void PasalintiIsSteko(void);
- void RodytiStekoElementus(void);
- // ------------------------------
- int main()
- {
- int k = 0;
- StekoVirsus=-1;
- cout << ("\n Iveskite koks bus steko dydis[MAX=100]:");
- cin >> n;
- ifstream df (DFV);
- // Nuskaitomi elementai is failo
- while(!df.eof()){
- df >> x;
- StekoVirsus++;
- k = StekoVirsus; // Issaugoma pradine steko virsaus reiksme
- stack[StekoVirsus] = x;
- PradinisStekas[StekoVirsus] = stack[StekoVirsus]; // Issaugoma pradinio steko kopija
- }
- RodytiStekoElementus();
- cout << ("\n\t STEKO OPERACIJOS");
- cout << ("\n\t--------------------------------");
- cout << ("\n\t 1.ITERPTI\n\t 2.PASALINTI\n\t 3.UZDARYTI PROGRAMA\n\t");
- do
- {
- printf("\n Iveskite pasirinkima:");
- cin >> choice;
- switch(choice)
- {
- case 1:
- {
- IterptiISteka();
- RodytiStekoElementus();
- break;
- }
- case 2:
- {
- PasalintiIsSteko();
- RodytiStekoElementus();
- break;
- }
- case 3:
- {
- ofstream fr (RFV);
- // Irasomos pradines steko reiksmes i faila
- fr << "Pradinis stekas: ";
- for (i = k; i >= 0; i--) fr << PradinisStekas[i] << " ";
- // Irasomos galutines steko reiksmes i faila
- fr << "\nGalutinis stekas: ";
- for(i=StekoVirsus; i>=0; i--) fr << stack[i] << " ";
- cout << ("\n\t PABAIGA ");
- break;
- }
- default:
- {
- cout << ("\n\t Iveskite teisinga pasirinkima(1/2/3)");
- }
- }
- }
- while(choice!=3);
- return 0;
- }
- // Funkcija kuri iterpia elementa i steka
- void IterptiISteka()
- {
- if(StekoVirsus>=n-1)
- {
- cout << ("\n\tStekas pilnas!");
- }
- else
- {
- cout << (" Iveskite skaiciu, kuri norite iterpti:");
- cin >> x;
- StekoVirsus++;
- stack[StekoVirsus]=x;
- }
- }
- // Funkcija, kuri pasalina elementa is steko
- void PasalintiIsSteko()
- {
- if(StekoVirsus<=-1)
- {
- cout << ("\n\t Stekas tuscias!");
- }
- else
- {
- cout << "\n\t Pasalintas elementas is steko yra " << stack[StekoVirsus];
- StekoVirsus--;
- }
- }
- // Funkcija, kuri rodo steko elementus
- void RodytiStekoElementus()
- {
- if(StekoVirsus>=0)
- {
- cout << ("\n ELEMENTAI STEKE \n");
- for(i=StekoVirsus; i>=0; i--)
- cout << stack[i] << endl;
- cout << ("\n Iveskite kuria operacija norite atlikti: ");
- }
- else
- {
- cout << ("\n Stekas yra tuscias!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement