Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const unsigned NMAX=100;
- typedef unsigned adresa;
- struct nod {unsigned cifra; adresa urm;};
- nod lista[NMAX+1];
- int nr_el,liber[NMAX];
- int este_plina() {return nr_el == NMAX;}
- int este_vida(adresa prim) {return prim==NULL;}
- void init(adresa &prim) {prim=NULL;
- nr_el=0;
- for (adresa p=1;p<=NMAX;p++) liber[p]=1;}
- adresa aloc_mem() {adresa p; for (p=1; !liber[p]; p++); liber[p]=0; nr_el++; return p;}
- void adaug_inainte_prim(adresa &prim, int n) {adresa p=aloc_mem(); lista[p].cifra=n; lista[p].urm=prim; prim=p;}
- void creare(adresa &prim) {unsigned cif;
- cout<<"Scrieti cifrele numarului:"<<endl;
- cout<<"cifra= "; cin>>cif;
- while (cif<=9 && !este_plina())
- {adaug_inainte_prim(prim,cif);
- cout<<"cifra= "; cin>>cif;}}
- void afiseaza(adresa prim) {for (adresa p=prim; p!=NULL; p=lista[p].urm) cout<<lista[p].cifra;}
- int main() {adresa prim;
- init(prim);
- creare(prim);
- if (!este_vida(prim)) {cout<<"Numarul invers este: "; afiseaza(prim);}
- else cout<<"Nu exista numar";}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement