0% found this document useful (0 votes)
22 views5 pages

Problema Liste Stive Cozi

The document contains a C++ program that implements basic data structures including lists, stacks, and queues. It provides functions for reading, displaying, adding, and deleting elements from these structures. The main function allows the user to choose which data structure to interact with and perform operations on it.

Uploaded by

the mighht boss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views5 pages

Problema Liste Stive Cozi

The document contains a C++ program that implements basic data structures including lists, stacks, and queues. It provides functions for reading, displaying, adding, and deleting elements from these structures. The main function allows the user to choose which data structure to interact with and perform operations on it.

Uploaded by

the mighht boss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Mavrodin Tudor

#include <iostream>

using namespace std;

void citire(int&, int[]);

void afisare(int, int[]);

void adaugare(int&, int[], int, int);

void stergere(int&, int[], int);

void adaugare_stiva(int &vf, int S[], int x);

void stergere_stiva(int &vf, int S[]);

void adaugare_coada(int &sf, int C[], int x);

void stergere_coada(int &inc, int sf, int C[]);

void afisare_coada(int inc, int sf, int C[]);

void lista(int n, int v[])

int x, ok=1, elem, poz;

cout<<"citeste elementele:"<<'\n';

citire(n, v);

do

cout<<"1 pentru afisare, 2 pentru adaugare, 3 pentrue stergere:"<<'\n';

cin>>x;

switch (x)

case 1: afisare(n, v); break;

case 2: {cout<<"introduce x si k: "; cin>>elem>>poz; adaugare(n, v, elem, poz); break;}

case 3: {cout<<"introduce k: "; cin>>poz; stergere(n, v, poz); break;}

default: cout<<"eroare";

cout<<"vrei sa continui? 1/0: "; cin>>ok;

}while (ok);

void stiva(int n, int S[])

1
Mavrodin Tudor

int vf, x, ok=1, elem;

cout<<"citeste elementele:"<<'\n';

citire(n, S);

vf=n-1;

do

cout<<"1 pentru afisare, 2 pentru adaugare, 3 pentrue stergere:"<<'\n';

cin>>x;

switch (x)

case 1: afisare(vf+1, S); break;

case 2: {cout<<"introduce x: "; cin>>elem; adaugare_stiva(vf, S, elem); break;}

case 3: stergere_stiva(vf, S); break;

default: cout<<"eroare";

cout<<"vrei sa continui? 1/0: "; cin>>ok;

}while(ok);

void coada(int n, int C[])

int inc, sf, x, elem, ok=1;

cout<<"citeste elementele:"<<'\n';

citire(n, C);

inc=0; sf=n-1;

do

cout<<"1 pentru afisare, 2 pentru adaugare, 3 pentrue stergere:"<<'\n';

cin>>x;

switch (x)

2
Mavrodin Tudor

case 1: afisare_coada(inc, sf, C); break;

case 2: {cout<<"introduce x: "; cin>>elem; adaugare_coada(sf, C, elem); break;}

case 3: stergere_coada(inc, sf, C); break;

default: cout<<"eroare";

cout<<"vrei sa continui? 1/0: "; cin>>ok;

}while(ok);

int main()

int n, v[100], x;

cout<<"1 pentru lista, 2 pentru stiva, 3 pentru coada"<<'\n'; cin>>x;

switch (x)

case 1: lista(n, v); break;

case 2: stiva(n, v); break;

case 3: coada(n, v); break;

default: cout<<"eroare";

return 0;

void citire(int &n, int v[])

cin>>n;

for (int i=0; i<n; i++) cin>>v[i];

void afisare(int n, int v[])

for(int i=0; i<n; i++) cout<<v[i]<<' ';

cout<<'\n';

3
Mavrodin Tudor

void adaugare(int &n, int v[], int x, int k)

int i;

if(n==100){cout<<"eroare"; return;}

for (i=n-1; i>=k; i--) v[i+1]=v[i];

v[k]=x; n++;

void stergere(int &n, int v[], int k)

int i;

if (n==-1){cout<<"eroare"; return;}

for (i=k; i<n-1; i++) v[i]=v[i+1];

n--;

void adaugare_stiva(int &vf, int S[], int x)

if (vf==100){cout<<"eroare"; return;}

S[++vf]=x;

void stergere_stiva(int &vf, int S[])

if (vf==-1){cout<<"eroare"; return;}

vf--;

void adaugare_coada(int &sf, int C[], int x)

if(sf==100){cout<<"eroare"; return;}

C[++sf]=x;

void stergere_coada(int &inc, int sf, int C[])

4
Mavrodin Tudor

if(sf-inc==-1){cout<<"eroare"; return;}

inc++;

void afisare_coada(int inc, int sf, int C[])

for (int i=inc; i<=sf; i++) cout<<C[i]<<' ';

cout<<'\n';

You might also like