Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const unsigned NMAX=100;
  5. typedef unsigned adresa;
  6. struct nod {unsigned cifra; adresa urm;};
  7. nod lista[NMAX+1];
  8. int nr_el,liber[NMAX];
  9.  
  10. int este_plina() {return nr_el == NMAX;}
  11.  
  12. int este_vida(adresa prim) {return prim==NULL;}
  13.  
  14. void init(adresa &prim) {prim=NULL;
  15. nr_el=0;
  16. for (adresa p=1;p<=NMAX;p++) liber[p]=1;}
  17. adresa aloc_mem() {adresa p;  for (p=1; !liber[p]; p++);  liber[p]=0; nr_el++;  return p;}
  18.  
  19. void adaug_inainte_prim(adresa &prim, int n) {adresa p=aloc_mem();  lista[p].cifra=n; lista[p].urm=prim; prim=p;}
  20.  
  21. void creare(adresa &prim)   {unsigned cif;
  22. cout<<"Scrieti cifrele numarului:"<<endl;
  23. cout<<"cifra= "; cin>>cif;
  24. while (cif<=9 && !este_plina())
  25. {adaug_inainte_prim(prim,cif);
  26. cout<<"cifra= "; cin>>cif;}}
  27.  
  28. void afiseaza(adresa prim) {for (adresa p=prim; p!=NULL; p=lista[p].urm) cout<<lista[p].cifra;}
  29.  
  30. int main() {adresa prim;
  31. init(prim);
  32. creare(prim);
  33. if (!este_vida(prim)) {cout<<"Numarul invers este: "; afiseaza(prim);}
  34. else cout<<"Nu exista numar";}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement