100 likes | 251 Views
Biblioteca…. cerinta…. Se citeste din fisierul Biblioteca(1).in sirul ce contine numarul de pagini ale cartilor (ex: 352, 56, 85, 251, 12, 642, 1250) a)Sa se creeze stiva 1 care sa contina numerele paginilor mai mici decat 200
E N D
cerinta… • Se citeste din fisierul Biblioteca(1).in sirul ce contine numarul de pagini ale cartilor (ex: 352, 56, 85, 251, 12, 642, 1250) • a)Sa se creeze stiva 1 care sa contina numerele paginilor mai mici decat 200 • b)Sa se creeze stiva 2 care sa contina numerele paginilor mai mari decat 201 • c)Sa se afiseze stivele. • d)Sa se ordoneze stiva 1 • e)Sa se elimine el minim din stiva 1 • f)Sa se afiseze stiva 1
exemplu… “Biblioteca.in” 352, 56, 85, 251, 12, 642, 1250 “cout<<“ • 56 85 12 • 352 251 642 1250 • 56 85 12 352 251 642 1250 • 12 56 85 • 1256 85 • 56 85
punctul a) (secventa c++)a)Sa se creeze stiva 1 care sa contina numerele paginilor mai mici decat 200 while(f>>x) { if (x<=200) push(varf,x); } void push(nod *&varf,int x) { nod *p; p=new nod; p->pag=x; p->urm=varf; varf=p; } 12 85 56
punctul b) (secventa c++)b)Sa se creeze stiva 2 care sa contina numerele paginilor mai mari decat 201 while(g>>x) { if (x>201) push(varf1,x); } void push(nod *&varf,int x) { nod *p; p=new nod; p->pag=x; p->urm=varf; varf=p; } 1250 642 251 352
punctul c) (secventa c++) c)Sa se afiseze stivele void parcurgere(nod *varf(1)) { nod *p; p=varf(1); while(p) { cout<<" "<<p->pag; p=p->urm; } } 12 85 1250 56 642 251 352
punctul d) (secventa c++)d)Sa se ordoneze stiva 1 void ordonare(nod *varf) { nod *a, *b; int aux; a=varf; while(a){ b=a; while(b){ if(a->pag > b->pag){ aux = a->pag; a->pag = b->pag; b->pag = aux;} b=b->urm; } a=a->urm; } } 12 ok 85 ok interschimbare 56
punctul d) (secventa c++)d)Sa se ordoneze stiva 1 void ordonare(nod *varf) { nod *a, *b; int aux; a=varf; while(a){ b=a; while(b){ if(a->pag > b->pag){ aux = a->pag; a->pag = b->pag; b->pag = aux;} b=b->urm; } a=a->urm; } } 12 ok ok interschimbare 56 85
punctul e) (secventa c++)e)Sa se elimine el minim din stiva 1 void pop(nod *&varf) { nod *p; p=varf; varf=varf->urm; delete p; } 12 56 85
punctul f) (secventa c++)e)Sa se afiseze stiva 1 void parcurgere(nod *varf) { nod *p; p=varf; while(p) { cout<<" "<<p->pag; p=p->urm; } } 56 85