Sunteți pe pagina 1din 3

#include <iostream> #include<stdlib.

h> using namespace std; const unsigned NMAX=3; typedef unsigned adresa; typedef struct nod { int info; adresa urm; }; nod l[NMAX]; int liber[NMAX]; adresa prim, ultim; int nr_elem=0; void init() { int i; prim=ultim=0; for(i=1;i<=NMAX; i++) liber[i]=0; } int eplina() { int i; for(i=1; i<=NMAX; i++) if(liber[i]==0) return 0; return 1; } int evida() { int i; for(i=1; i<=NMAX; i++) if(liber[i]!=0) return 0; return 1; } adresa aloc_mem() { nr_elem++; return nr_elem; } void creare() //adauga un singur elem prima data, cand lista e goala { adresa p; p=aloc_mem(); cout<<"Dati primul element din lista"; cin>>l[p].info; l[p].urm=0; prim=p; ultim=p; } void adaug_primul() { adresa p; if(!eplina()) { p=aloc_mem(); cout<<"Introduceti informatia utila";

cin>>l[p].info; l[p].urm=prim; prim=p; } else cout<<"Memorie plina"; } void adaug_ultimul() { adresa p; if(!eplina()) { p=aloc_mem(); cout<<"Introduceti informatia utila"; cin>>l[p].info; l[p].urm=NULL; l[ultim].urm=p; ultim=p; } else cout<<"Memorie plina"; } void adaug_dupa() { adresa p,q; int x; if(!eplina()) { cout<<"Introdu elem dupa care se adauga"; cin>>x; p=prim; while(l[p].info!=x) p=l[p].urm; //////////////// cout<<prim<<" "<<l[prim].info<<" "<<l[prim].urm; q=aloc_mem(); cout<<"Introduceti informatia utila"; cin>>l[q].info; l[q].urm=l[p].urm; l[p].urm=q; ////////////// cout<<q<<" "<<l[q].info<<" "<<l[q].urm<<endl; cout<<p<<" "<<l[p].urm<<endl; cout<<prim<<" "<<l[prim].info<<" "<<l[prim].urm; cin.get(); //////////////// } else cout<<"Memorie plina"; } void parcurgere() { adresa p; cout<<"Elementele listei sunt:"; p=prim; while(p!=NULL) { cout<<l[p].info<<" "; p=l[p].urm; } cout<<endl; cin.get();

} /*void clear_screen( void ) { #ifdef WIN32 system( "cls" ); #else system( "clear" ); #endif }*/ int main() { int op; do{ system("clear"); //sterge ecranul in MAC; e in stdlib.h //system("cls"); //sterge ecranul in WIN; e in stdlib.h cout<<"Operatii cu liste liniare"<<endl; cout<<"1. Creare"<<endl; cout<<"2. Adaugare in fata primului element"<<endl; cout<<"3. Adaug dupa ultimul element"<<endl; cout<<"4. Adaug dupa un element dat"<<endl; cout<<"5. Sterge primul element"<<endl; cout<<"6. Sterge ultimul element"<<endl; cout<<"7. Sterge inainte de un element dat"<<endl; cout<<"8. Afisare lista"<<endl; cout<<"9. Iesire"<<endl; cin>>op; switch (op) { case (1): creare(); break; case (2): adaug_primul(); break; case (3): adaug_ultimul(); break; case (4): adaug_dupa(); break; case (5): /*df();*/cout<<"5"; break; case (6): /*df();*/cout<<"6"; break; case (7): /*df();*/cout<<"7"; break; case (8): parcurgere(); break; case (9): cout<<"Ai terminat"<<endl; break; default: cout<<"alege o optiune valida"<<endl; break; } cout<<endl<<"apasa o tasta"<<endl; //system("pause"); merge ca getch() dar pe WIN, nu pe MAC cin.get(); }while(op!=9); return 0; }

S-ar putea să vă placă și

  • Form 1
    Form 1
    Document6 pagini
    Form 1
    Giovanna Stanica
    Încă nu există evaluări
  • Form 4
    Form 4
    Document3 pagini
    Form 4
    Giovanna Stanica
    Încă nu există evaluări
  • Form 2
    Form 2
    Document8 pagini
    Form 2
    Giovanna Stanica
    Încă nu există evaluări
  • Modulul 5
    Modulul 5
    Document2 pagini
    Modulul 5
    Giovanna Stanica
    Încă nu există evaluări
  • Baze de Date
    Baze de Date
    Document2 pagini
    Baze de Date
    Giovanna Stanica
    Încă nu există evaluări
  • Modul 5
    Modul 5
    Document1 pagină
    Modul 5
    Giovanna Stanica
    Încă nu există evaluări
  • Test Xi Lic
    Test Xi Lic
    Document2 pagini
    Test Xi Lic
    Giovanna Stanica
    Încă nu există evaluări
  • Stilul Meu de Parinte
    Stilul Meu de Parinte
    Document13 pagini
    Stilul Meu de Parinte
    Giovanna Stanica
    Încă nu există evaluări
  • Lucrare 3 cls9
    Lucrare 3 cls9
    Document1 pagină
    Lucrare 3 cls9
    Giovanna Stanica
    Încă nu există evaluări
  • Baze de Date
    Baze de Date
    Document2 pagini
    Baze de Date
    Giovanna Stanica
    Încă nu există evaluări
  • Planificare A 11 A INFO
    Planificare A 11 A INFO
    Document21 pagini
    Planificare A 11 A INFO
    Giovanna Stanica
    Încă nu există evaluări
  • Mate Descriptori de Performanta Clasa A X-A
    Mate Descriptori de Performanta Clasa A X-A
    Document8 pagini
    Mate Descriptori de Performanta Clasa A X-A
    Giovanna Stanica
    Încă nu există evaluări
  • Criterii Evaluare Proiect
    Criterii Evaluare Proiect
    Document1 pagină
    Criterii Evaluare Proiect
    Giovanna Stanica
    Încă nu există evaluări
  • Bac 2012
    Bac 2012
    Document3 pagini
    Bac 2012
    Giovanna Stanica
    Încă nu există evaluări
  • Scenariu 03 Blank
    Scenariu 03 Blank
    Document5 pagini
    Scenariu 03 Blank
    Giovanna Stanica
    Încă nu există evaluări
  • Teza 1
    Teza 1
    Document4 pagini
    Teza 1
    Giovanna Stanica
    Încă nu există evaluări
  • Structura Unui Program in C
    Structura Unui Program in C
    Document1 pagină
    Structura Unui Program in C
    Giovanna Stanica
    Încă nu există evaluări
  • Stilul Meu de Parinte
    Stilul Meu de Parinte
    Document13 pagini
    Stilul Meu de Parinte
    Giovanna Stanica
    Încă nu există evaluări
  • Stilul Meu de Parinte
    Stilul Meu de Parinte
    Document13 pagini
    Stilul Meu de Parinte
    Giovanna Stanica
    Încă nu există evaluări
  • Tema1 2
    Tema1 2
    Document1 pagină
    Tema1 2
    Giovanna Stanica
    Încă nu există evaluări
  • REZULTAT
    REZULTAT
    Document1 pagină
    REZULTAT
    Giovanna Stanica
    Încă nu există evaluări
  • Capitol 1
    Capitol 1
    Document3 pagini
    Capitol 1
    Giovanna Stanica
    Încă nu există evaluări
  • SIRURI
    SIRURI
    Document1 pagină
    SIRURI
    Giovanna Stanica
    Încă nu există evaluări
  • Test
    Test
    Document1 pagină
    Test
    Giovanna Stanica
    Încă nu există evaluări
  • TEMA2
    TEMA2
    Document1 pagină
    TEMA2
    Giovanna Stanica
    Încă nu există evaluări