Sunteți pe pagina 1din 5

Laborator 3 Formarea i lucrul cu liste dinamice n limbajele C++, Pascal

Creat de: Frunza Constantin Verificat: Doctor, Conf. Univ., TutunaruSergiu

Chisinau 2013

1. Formarea i lucrul cu liste dinamice n limbajele C++, Pascal Formarea unei liste FIFO; efectuarea operaiilor de adugare, inserare, eliminare a elementelor; parcurgerea listei. Formarea unei liste FILO; efectuarea operaiilor de adugare, inserare, eliminare a elementelor; parcurgerea listei.

Problema 1 // FIFO (Cozi) #include<iostream> using namespace std; int FIFO[100], // lista peak=0, // virful listei tail=0; // coada listei

void add_node(){//functia de adaugare a unui nod cout<< "\nValoarea nodului : " << tail << " = "; cin>> FIFO[tail]; // se introduce valoarea nodului tail++; // pozitia cozii cu o unitate la dreapta }

voiddel_node(){// functia de stergere a unui nod if(peak < tail){ //daca virful este mai mic decit coada cout<< "Nodul " << peak << " cu valoarea = " << FIFO[peak] << " a fost sters !\n"; FIFO[peak]=0; // se goleste valoarea nodului peak++; // virful stivei se misca spre dreapta cu o unitate } else cout<< "\n\tLista este vida !";

int main(){ cout<<"mini HELP: Activitate = \n\t\t\tadd(adauga nod),\n\t\t\tdel(sterge nod),\n\t\t\tstop(finiseazaactivitati)."; cout<< "\n\nActivitate: "; char t[3]; while(cin>> t){ if(!strcmp(t, "add")) // daca s-a introdus "add" add_node(); // se adauga nod

else if(!strcmp(t, "del")) //daca s-a introdus "del" del_node(); // se sterge nod else // altfel break; // terminaactivitatea cout<< "\n\nActivitate: "; } cout<< "Listafinala: "; for(inti=peak; i<tail; i++) // ciclu de afisare a listei cout<< FIFO[i] << " "; cout<< "\n\n\n";

system("pause"); }

Problema 2 #include<iostream> Using namespace std; int FILO[100], // lista peak=0; // virfulstivei

voidadd_node(){ //functia de adaugare a unui nod cout<< "\nValoare anodului : " << peak << " = "; cin>> FILO[peak]; // se introduce valoarea nodului peak++; // virful stivei cu o pozitie la dreapta }

voiddel_node(){ // functia de stergere a unui nod if(peak>0){ // daca stiva nu este vida peak--; //virful cu o pozitie la stinga cout<< "Nodul " << peak << " cu valoarea = " << FILO[peak] << " a fost sters !\n"; FILO[peak]=0; // se sterge nodul } else

cout<< "\n\tLista este vida !";

int main(){ cout<<"mini HELP: Activitate = \n\t\t\tadd(adauga nod),\n\t\t\tdel(sterge nod),\n\t\t\tstop(finiseazaactivitati)."; cout<< "\n\nActivitate: "; char t[3]; while(cin>> t){ if(!strcmp(t, "add")) add_node(); else if(!strcmp(t, "del")) del_node(); else break; cout<< "\n\nActivitate: "; } cout<< "Listafinala: "; for(inti=0; i<peak; i++) cout<< FILO[i] << " "; cout<< "\n\n\n";

system("pause"); }

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

  • Lab5 Adpc (R) A 14
    Lab5 Adpc (R) A 14
    Document3 pagini
    Lab5 Adpc (R) A 14
    Alexandru Litra
    Încă nu există evaluări
  • Alex Lab4
    Alex Lab4
    Document11 pagini
    Alex Lab4
    Alexandru Litra
    Încă nu există evaluări
  • Alex Lab4
    Alex Lab4
    Document11 pagini
    Alex Lab4
    Alexandru Litra
    Încă nu există evaluări
  • Laborator N4
    Laborator N4
    Document1 pagină
    Laborator N4
    Alexandru Litra
    Încă nu există evaluări
  • Alex Lab4
    Alex Lab4
    Document11 pagini
    Alex Lab4
    Alexandru Litra
    Încă nu există evaluări
  • Ist Ix Rom
    Ist Ix Rom
    Document4 pagini
    Ist Ix Rom
    Alexandru Litra
    Încă nu există evaluări
  • Lista Intrebarilor Final Dec 18
    Lista Intrebarilor Final Dec 18
    Document2 pagini
    Lista Intrebarilor Final Dec 18
    Alexandru Litra
    Încă nu există evaluări
  • Simbolismul Eseu Www.e
    Simbolismul Eseu Www.e
    Document10 pagini
    Simbolismul Eseu Www.e
    neo vlad
    100% (8)
  • Mihai
    Mihai
    Document1 pagină
    Mihai
    Alexandru Litra
    Încă nu există evaluări