0% found this document useful (0 votes)
81 views13 pages

Coada

The document describes two implementations of a queue data structure - one using a static array and one using a dynamic linked list. It provides functions to push and pop elements from the queue, as well as functions to display the queue and check if it is empty. It also includes a main function that demonstrates using the queue implementation.

Uploaded by

Deny Denisa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views13 pages

Coada

The document describes two implementations of a queue data structure - one using a static array and one using a dynamic linked list. It provides functions to push and pop elements from the queue, as well as functions to display the queue and check if it is empty. It also includes a main function that demonstrates using the queue implementation.

Uploaded by

Deny Denisa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

 Coada - Implementare Dinamică

#include <iostream> if (p == NULL) cout<<endl<<x<<" nu exista in


using namespace std; coada"<<endl;
struct nod else cout<<endl<<x<<" exista in coada"<<endl;
{ }
int info; int main()
nod *next; {
}; nod* Start = NULL, *End;
int nrElem; push(Start,End,10);
void push(nod*& Start, nod*& End, int val) push(Start,End,20);
{ push(Start,End,15);
nod* aux = new nod; push(Start,End,7);
aux->info = val; push(Start,End,45);
aux->next = NULL; afisare(Start);
if (Start == NULL) cautare(Start,20);
{ cautare(Start,24);
Start = aux; for(int i=0;i<=5;i++)
End = Start; {
} pop(Start);
else afisare(Start);
{ }
End->next = aux; return 0;
End = aux; }
}
nrElem++;
}
void pop(nod*& Start)
{
if(Start!=NULL)
{
cout<<"Valoare stearsa "<<Start->info<<"\n";
nod* aux = Start;
Start = Start ->next;
delete aux;
nrElem--;
}
else cout<<"Coada vida\n";
}
void afisare(nod* Start)
{
nod *p;
p = Start;
while (p != NULL)
{
cout<< p->info <<" ";
p = p -> next;
}
cout<<"\n";
}
void cautare(nod* Start, int x)
{
nod* p = Start;
while (p != NULL && x != p->info)
p = p -> next;
 Coada – Implementare Statică
#include <iostream> X = Queue[Front];
using namespace std; Front++;
#define MAX 100 }
int Queue[MAX]; }
int Front, Rear; }
void Push (int Val) void afis_fara_stergere()
{ {
if (Rear == MAX) cout<<"Overflow"; for(int t = Front; t<= Rear; t++)
// Overflow cout<<Queue[t]<<" ";
else cout<<"\n";
{ }
if (Rear == 0) //coada initial vida int main()
Front++; {
Rear++; int val;
Queue[Rear] = Val; Push(2); cout<<"Coada: "; afis_fara_stergere();
} Push(1); cout<<"Coada: "; afis_fara_stergere();
} Push(10); cout<<"Coada: "; afis_fara_stergere();
void Pop (int &X) Push(15); cout<<"Coada: "; afis_fara_stergere();
{ Pop(val); cout<<"Element sters: "<<val<<" -->
if (Front == MAX) cout<<"Underflow"; Coada: "; afis_fara_stergere();
// Underflow Push(4); cout<<"Coada: "; afis_fara_stergere();
else Pop(val); cout<<"Element sters: "<<val<<" -->
{ Coada: "; afis_fara_stergere();
if (Front == 0 || Front > Rear) cout<<"Coada Push(20); cout<<"Coada: "; afis_fara_stergere();
vida"; Pop(val); cout<<"Element sters: "<<val<<" -->
// Coada vida Coada: "; afis_fara_stergere();
else return 0;
{ }

 Conectarea Pinilor {
if(Stack!=NULL)
#include <iostream>
{
#include <cstring>
nod* aux = Stack;
using namespace std;
Stack = Stack ->next;
struct nod
delete aux;
{
}
int info;
else cout<<"Stiva vida\n";
nod *next;
}
};
bool empty(nod*Stack)
void push(int val, nod*& Stack)
{
{
if (Stack == NULL) return 1;
nod* aux = new nod;
return 0;
aux->info = val;
}
aux->next = NULL;
int peek(nod* Stack)
if (Stack == NULL)
{
Stack = aux;
if(Stack != NULL) return Stack->info;
else
}
{
aux->next = Stack;
int main()
Stack = aux;
{
}
nod* Stack = NULL;
}
int pereche[100],n,i;
void pop(nod*& Stack)
cin>>n;
for(int i=0; i<n; i++) push(pereche[i],Stack);
cin>>pereche[i]; }
for(int i=0; i<n; i++) if (empty(Stack))
{ cout<<"Configuratie valida";
if(empty(Stack)) // Stiva e vida else cout<<"Configuratie invalida";
push(pereche[i],Stack); return 0;
else if(pereche[i] == peek(Stack)) }
pop(Stack);
else

 Evaluare Expresie In Formă Postfixată


#include <iostream> int evaluare(char *postfix) // postfix - sirul de
#include <cstring> caractere introdus
using namespace std; {
#define MAX 100 int rez;
int Top = -1; for(int k = 0; k<strlen(postfix); k++)
int Stack[MAX]; {
void push (int Val) if (postfix[k]==' ') continue;
{
if (Top < MAX-1) if (eOperator(postfix[k])==1) // daca acesta
{ este operator
Top++; {
Stack[Top] = Val; int op1, op2;
} pop(op1); // se scot ultimele 2 valori
} din stiva si se aplica operandul
void pop (int &X) pop(op2);
{
if (Top > -1) if(postfix[k]=='+') rez = op2+op1;
{ else if (postfix[k]=='-') rez = op2-op1;
X = Stack[Top]; else if(postfix[k]=='/') rez = op2/op1;
Top--; else if (postfix[k]=='*') rez = op2*op1;
} else if (postfix[k]=='%') rez = op2%op1;
} push(rez); // se reintroduce in stiva
void afis_fara_stergere() rezultatul operatiei
{ }
int t = Top; else
while(t>-1) {
{ int numar=0; // daca acesta este cifra, se
cout<<Stack[t]<<" "; updateaza numarul care se introduce in stiva
t--; while(k<strlen(postfix) &&
} eCifra(postfix[k])==1)
cout<<"\n"; {
} numar = numar * 10 + (postfix[k]-'0');
int eCifra(char x) k++;
{ }
if (x>='0' && x<='9') return 1; push(numar); // numar intreg = cod ASCII
return 0; caracter - 48 (codul caracterului '0')
} }
int eOperator(char x) afis_fara_stergere();
{ }
if (x=='+' || x=='-' || x=='*' || x=='/' || x=='%') pop(rez);
return 1; return rez;
return 0; }
}
int main()
{
char expresie[MAX+1];
cin.get(expresie,MAX);
// char expresie[]="10 20 30 * + 40 20 30 * - -";
cout<<evaluare(expresie);
return 0;
}
 Hamming
#include <iostream> m5=c3[f5++];
using namespace std; while (m<M)
int {
M,m,m2,m3,m5,f2,f3,f5,r2,r3,r5,p,h[300],c2[100], m=m2;
c3[100],c5[100]; if(m>m3) m=m3;
int main() if(m>m5) m=m5;
{ if (m <= M) h[++p] = m;
cin>>M; c2[++r2]=m*2;
m=1; c3[++r3]=m*3;
p=1; c5[++r5]=m*5;
h[p]=m ; if (m == m2) m2 = c2[f2++];
r2=r3=r5=0; if (m == m3) m3 = c3[f3++];
c2[++r2]=m*2; if (m == m5) m5 = c5[f5++];
c3[++r3]=m*3; }
c5[++r5]=m*5; for(int i = 1;i<=p;i++) cout<<h[i]<<" ";
f2=f3=f5=1; return 0;
m2=c2[f2++]; }
m3=c3[f3++];

 Liste simplu înlănțuite alocate static


#include <iostream> int Exista_spatiu()
using namespace std; {
struct nod return n<100;
{ }
int inf, urm; void adaugare(int &prim, int val)
}; {
nod a[10]; int nou;
int n, prim, ultim; // n = numarul de elemente if (!prim)
care se afla la un moment dat in lista {
int oc[10]; // 0 – liber, 1-ocupat alocare(prim);
void alocare(int &x) a[prim].inf = val;
{ a[prim].urm = 0;
int i = 1; ultim = prim;
while (oc[i] != 0) }
i++; else if (Exista_spatiu())
x = i; {
oc[i] = 1; alocare(nou);
n++; a[ultim].urm = nou;
} a[nou].inf = val;
void eliberare(int x) a[nou].urm = 0;
{ ultim = nou;
oc[x] = 0; }
n--; else cout<<"lipsa spatiu";
} }
void inserare_dupa(int prim, int val, int val_ins) }
{ eliberare(aux);
int p, nou; }
if (Exista_spatiu()) void afisare(int prim)
{ {
p = prim; int p=prim;
while(a[p].inf != val) while(p)
p = a[p].urm; {
alocare(nou);
a[nou].inf = val_ins; cout<<"["<<p<<"-"<<a[p].inf<<"-"<<a[p].urm<<"]
a[nou].urm = a[p].urm; ";
a[p].urm = nou; p = a[p].urm;
if (a[nou].urm == 0) ultim = nou; }
} cout<<"\n";
else cout<<"Nu exista spatiu"; }
} int main()
void inserare_inainte(int prim, int val, int val_ins) {
{ adaugare(prim,38);
int p, nou; afisare(prim);
if (Exista_spatiu()) inserare_dupa(prim,38,10);
if (a[prim].inf == val) afisare(prim);
{ inserare_dupa(prim,10,22);
alocare(nou); afisare(prim);
a[nou].inf = val_ins; inserare_dupa(prim,22,65);
a[nou].urm = prim; afisare(prim);
prim = nou; inserare_dupa(prim,65,11);
} afisare(prim);
else inserare_dupa(prim,11,77);
{ afisare(prim);
p = prim; inserare_dupa(prim,77,40);
while(a[a[p].urm].inf != val) afisare(prim);
p = a[p].urm; return 0;
alocare(nou); }
a[nou].inf = val_ins;
a[nou].urm = a[p].urm;
a[p].urm = nou;
}
else cout<<"Nu exista spatiu";
}
void stergere(int &prim, int val)
{
int p, aux;
if (a[prim].inf == val)
{
aux = prim;
prim = a[prim].urm;
}
else
{
p = prim;
while(a[a[p].urm].inf != val)
p = a[p].urm;
aux = a[p].urm;
a[p].urm = a[aux].urm;
if (aux == ultim)
ultim = p;
 Liste simplu înlănțuite
while(p->next!=NULL)
#include <iostream>
{r = p;
using namespace std;
p=p->next;}
struct nod
cout<<"Valoare stearsa "<<p->info<<"\n";
{
nod* aux = p;
int info;
r->next = NULL;
nod *next;
delete aux;
};
}
int nrElem;
else cout<<"Lista vida\n";
void afisare(nod* Start)
}
{
void inserare_sfarsit(nod*& Start, nod*& End, int
nod *p;
val)
p = Start;
{
while (p != NULL)
nod* aux = new nod;
{
aux->info = val;
cout<< p->info <<" ";
aux->next = NULL;
p = p -> next;
if (Start == NULL)
}
{
cout<<"\n";
Start = aux;
}
End = Start;
void inserare_inceput(nod*& Start, nod*& End,
}
int val)
else
{
{
nod* aux = new nod;
End->next = aux;
aux->info = val;
End = aux;
if (Start == NULL)
}
{
}
aux->next = NULL;
void inserare_pe_pozitie(nod*& Start, nod*&
Start = aux;
End, int val, int poz)
End = Start;
{
}
if (poz == 0) inserare_inceput(Start, End, val);
else
else if (poz == nrElem) inserare_sfarsit(Start,
{
End, val);
aux->next = Start;
else
Start = aux;
{
}
nod*p = Start;
}
for(int i=0; i<poz-1; i++)
void stergere_inceput(nod*& Start)
p = p->next;
{
nod* aux = new nod;
if(Start!=NULL)
aux->info = val;
{
aux->next = p->next;
cout<<"Valoare stearsa "<<Start->info<<"\n";
p->next = aux;
nod* aux = Start;
}
Start = Start ->next;
nrElem++;
delete aux;
}
}
void stergere_de_pe_pozitie(nod*& Start, nod*&
else cout<<"Lista vida\n";
End, int poz)
}
{
if (poz==0) stergere_inceput(Start);
void stergere_sfarsit(nod*& Start, nod*& End)
else if (poz==nrElem) stergere_sfarsit(Start,
{
End);
if(End!=NULL)
else
{
{
nod*p = Start,*r=NULL;
nod*p = Start,*r=NULL;
for(int i=0; i<=poz-1; i++)
{r=p; p = p->next;} for (int j = i; j<n; j++) a[j] = a[j+1]; // eliminarea
cout<<"Valoare stearsa "<<p->info<<"\n"; elementului de pe pozitia k
nod*aux = r->next; n--;
r->next = r->next->next; while (n>0)
delete aux; {
} i = i+ m-1;
nrElem--; if (i%n==0) i = n; // situatie speciala in cazul
} numerotarii 1..n
void cautare(nod* Start, int x) else if (i > n) i = i % n;
{ cout<<a[i]<<" ";
nod* p = Start; for (int j = i; j<n; j++) a[j] = a[j+1]; //
while (p != NULL && x != p->info) eliminarea de pe pozitia i + m
p = p -> next; n--;
}
if (p == NULL) cout<<endl<<x<<" nu exista in return 0;
lista"<<endl; }
else cout<<endl<<x<<" exista in lista"<<endl;
}
int main()
{
nod* Start = NULL, *End;
inserare_pe_pozitie(Start,End,10,0);
inserare_pe_pozitie(Start,End,20,nrElem);
inserare_pe_pozitie(Start,End,15,nrElem);
inserare_pe_pozitie(Start,End,7,nrElem);
inserare_pe_pozitie(Start,End,45,nrElem/2);
afisare(Start);
cautare(Start,20);
cautare(Start,24);
stergere_de_pe_pozitie(Start, End,0);
afisare(Start);
stergere_de_pe_pozitie(Start, End,nrElem);
afisare(Start);
stergere_de_pe_pozitie(Start, End,1);
afisare(Start);
return 0;
}
 Liste circulare Josephus
#include <iostream>
using namespace std;
int main()
{
int n,i,k,m,x,a[100];
n = 12;
k = 2;
m = 3;
//cout<<"nr copii = ";
//cin>>n;
//cout<<"initial = ";
//cin>>k;
//cout<<"salt = ";
//cin>>m;
for (i = 1; i<=n; i++) a[i] = i;
i = k;
cout<<a[i]<<" ";
 Operații pe vector
void stergere(int a[], int &n, int poz)
#include <iostream>
{
using namespace std;
cout<<"Valoarea stearsa: "<<a[poz]<<" --> ";
void citire(int a[], int &n)
for (int i = poz; i<n-1; i++)
{
a[i] = a[i+1];
cin>>n;
n--;
for(int i=0; i<n; i++)
}
cin>>a[i];
int main()
}
{
void afisare(int a[], int n)
int a[100],n,val;
{
//Citire si afisare vector
for(int i=0; i<n; i++)
citire(a,n);
cout<<a[i]<<" ";
afisare(a,n);
cout<<"\n";
//Cautarea unei valori in vectori
}
cout<<"Valoarea de cautat = ";
int cautare_liniara(int a[], int n, int val)
cin>>val;
{
cout<<" Cautare liniara: --> ";
int t = 0;
if (cautare_liniara(a,n,val)==1) cout<<"Valoarea
for (int i = 0; i<n; i++)
se afla in vector\n";
if (a[i]==val) t = 1;
else cout<<"Valoarea nu se afla in vector\n";
return t;
cout<<" Cautare liniara cu componenta marcaj:
}
--> ";
int cautare_liniara_marcaj(int a[], int n, int val)
if (cautare_liniara_marcaj(a,n,val)==1)
{
cout<<"Valoarea se afla in vector\n";
int poz = 0;
else cout<<"Valoarea nu se afla in vector\n";
a[n] = val;
cout<<" Cautare binara pe vector ordonat: --> ";
while (a[poz] != val)
if (cautare_binara(a,n,val)!=-1) cout<<"Valoarea
{
se afla in vector\n";
poz++;
else cout<<"Valoarea nu se afla in vector\n";
}
cout<<"Inserare pe prima pozitie: ";
if (poz == n) // cautare fara succes
inserare(a,n,100,0);
return 0;
afisare(a,n);
return 1;
cout<<"Inserare pe ultima pozitie: ";
}
inserare(a,n,200,n);
int cautare_binara(int a[], int n, int val)
afisare(a,n);
{
cout<<"Inserare in mijlocul vectorului : ";
int l = 0, r = n-1, m, poz = -1;
inserare(a,n,300,n/2);
m = (l+r) / 2;
afisare(a,n);
while ((l <= r) && (val != a[m]))
cout<<"Stergerea de pe prima pozitie: ";
{
stergere(a,n,0);
if (val<a[m]) r = m-1;
afisare(a,n);
else l = m+1;
cout<<"tergerea de pe ultima pozitie: ";
m =(l+r) / 2;
stergere(a,n,n-1);
}
afisare(a,n);
if (a[m]==val) poz = m;
cout<<"tergerea din mijlocul vectorului : ";
return poz;
stergere(a,n,n/2);
}
afisare(a,n);
void inserare(int a[], int &n, int val, int poz)
return 0;
{
}
for (int i = n-1; i >= poz; i--)
a[i+1] = a[i];
a[poz] = val;
n++;
}
 Parantezare corecta ok=false;
break;
#include <iostream>
}
#include <cstring>
push(s[i],Stack);
using namespace std;
}
struct nod
else if(s[i] == peek(Stack))
{
push(s[i],Stack);
char info;
else
nod *next;
pop(Stack);
};
}
void push(char val, nod*& Stack)
if(ok) cout<<"Corect";
{
else cout<<"Incorect";
nod* aux = new nod;
return 0;
aux->info = val;
}
aux->next = NULL;
if (Stack == NULL)
Stack = aux;
else
{
aux->next = Stack;
Stack = aux;
}
}
void pop(nod*& Stack)
{
if(Stack!=NULL)
{
nod* aux = Stack;
Stack = Stack ->next;
delete aux;
}
else cout<<"Stiva vida\n";
}
bool empty(nod*Stack)
{
if (Stack == NULL) return 1;
return 0;
}
char peek(nod* Stack)
{
if(Stack != NULL) return Stack->info;
}
int main()
{
nod* Stack = NULL;
char s[100];
cin>>s;
bool ok=true;
for(int i=0; i<strlen(s); i++)
{
if(empty(Stack)) // Stiva e vida
{
if(s[i]==')')
{
 Parcurgere în lățime(BF) }
nrElem++;
#include <iostream>
}
using namespace std;
void pop(nod*& Top)
#define MAX 20
{
int a[MAX][MAX], Q[MAX], viz[MAX],n;
if(Top!=NULL)
void BF(){
{
int Front = 1,Rear = 1,nod,i; // Q[ ] - coada
cout<<"Valoare stearsa "<<Top->info<<"\n";
// a – matricea de adiacenta
nod* aux = Top;
cin>>nod; // de inceput
Top = Top ->next;
Q[Front]=nod;
delete aux;
viz[nod]=1;
nrElem--;
while(Front <= Rear)
}
{
else cout<<"Stiva vida\n";
cout<<Q[Front]<<" ";
}
for(i=1;i<=n;i++)
void afisare(nod* Top)
if( a[Q[Front]][i]==1 && viz[i]!=1 )
{
{ Rear++;
nod *p;
Q[Rear] = i;
p = Top;
viz[i] = 1; }
while (p != NULL)
Front++;
{
}
cout<< p->info <<" ";
}
p = p -> next;
int main()
}
{
cout<<"\n";
int i,j;
}
cin>>n; //numarul de noduri ale arborelui
void cautare(nod* Top, int x)
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
nod* p = Top;
{
while (p != NULL && x != p->info)
cin>>a[i][j];
p = p -> next;
a[j][i] = a[i][j];
}
if (p == NULL) cout<<endl<<x<<" nu exista in
BF();
stiva"<<endl;
return 0;
}
 Stivă – implementare dinamică else cout<<endl<<x<<" exista in stiva"<<endl;
#include <iostream> }
using namespace std; int main()
struct nod {
{ nod* Top = NULL;
int info; push(Top,10);
nod *next; afisare(Top);
}; push(Top,20);
int nrElem; afisare(Top);
void push(nod*& Top, int val) push(Top,15);
{ afisare(Top);
nod* aux = new nod; push(Top,7);
aux->info = val; afisare(Top);
aux->next = NULL; push(Top,45);
if (Top == NULL) afisare(Top);
Top = aux; cautare(Top,20);
else cautare(Top,24);
{ for(int i=0;i<=5;i++)
aux->next = Top; {
Top = aux; pop(Top);
afisare(Top);
}
return 0;
}
 Stivă – implementare statică Pop(val); cout<<"Element sters: "<<val;
cout<<"Stiva: "; afis_fara_stergere();
Pop(val); cout<<"Element sters: "<<val;
#include <iostream>
cout<<"Stiva: "; afis_fara_stergere();
using namespace std;
Push(8); cout<<"Stiva: "; afis_fara_stergere();
#define MAX 100
return 0;
int Stack[MAX];
}
int Top;
void Push (int Val)
{
if (Top == MAX) cout<<"Overflow";
// Overflow
else
{
Top++;
Stack[Top] = Val;
}
}
void Pop (int &X)
{
if (Top == 0) cout<<"Underflow";
// Underflow
else
{
X = Stack[Top];
Top--;
}
}
void afis_fara_stergere()
{
int t = Top;
while(t>0)
{
cout<<Stack[t]<<" ";
t--;
}
cout<<"\n";
}
int main()
{
int val;
Push(20); cout<<"Stiva: "; afis_fara_stergere();
Push(5); cout<<"Stiva: "; afis_fara_stergere();
Pop(val); cout<<"Element sters: "<<val;
cout<<"Stiva: "; afis_fara_stergere();
Push(16); cout<<"Stiva: "; afis_fara_stergere();
Push(9); cout<<"Stiva: "; afis_fara_stergere();
Push(3); cout<<"Stiva: "; afis_fara_stergere();
Pop(val); cout<<"Element sters: "<<val;
cout<<"Stiva: "; afis_fara_stergere();
Push(7); cout<<"Stiva: "; afis_fara_stergere();
Push(5); cout<<"Stiva: "; afis_fara_stergere();
Push(4); cout<<"Stiva: "; afis_fara_stergere();
Pop(val); cout<<"Element sters: "<<val;
cout<<"Stiva: "; afis_fara_stergere();
 Vectori rari for (p1 = prim3; p1!= NULL; p1 = p1 -> next)
if (p2 -> poz == p1 -> poz) {p1 -> val += p2
-> val; ok = 1;}
#include<iostream>
if (ok == 0) adauga(prim3, ultim3, p2 -> val,
using namespace std;
p2 -> poz);
struct nod
}
{
}
int poz, val;
int prod_scalar(nod *prim1, nod *prim2)
nod*next;
{
};
int prod = 0;
void adauga(nod *&prim, nod *&ultim, int a, int
nod *p1, *p2;
b)
{
for (p2 = prim2; p2!= NULL; p2 = p2 -> next)
nod *q = new nod;
for (p1 = prim1; p1!= NULL; p1 = p1 -> next)
q->val=a;
if (p2 -> poz == p1 -> poz) prod += p1 -> val
q->poz=b;
* p2 -> val;
q->next=NULL;
return prod;
if(prim==NULL)
}
{
int main ()
prim = q;
{
ultim = prim;
nod *prim1 = NULL, *ultim1, *prim2 = NULL,
}
*ultim2, *prim3 = NULL, *ultim3;
else
int n1,n2;
{
creare_vector(n1,prim1,ultim1);
ultim -> next = q;
afisare(prim1);
ultim = q;
creare_vector(n2,prim2,ultim2);
}
afisare(prim2);
}
suma(prim1,prim2,prim3,ultim3);
void creare_vector(int &n, nod *&prim, nod
afisare(prim3);
*&ultim)
cout<<"\n"<<prod_scalar(prim1, prim2);
{ int i,a,b;
}
cin>>n;
for(i=1;i<=n;i++)
{cin>>a>>b;
adauga(prim, ultim, a, b);
}
}
void afisare(nod *prim)
{
nod *p = prim;
while(p)
{
cout<<"("<<p->val<<" "<<p-
>poz<<") ";
p=p->next;
}
cout<<endl;
}
void suma(nod *prim1, nod *prim2, nod *&prim3,
nod *&ultim3)
{
nod *p1, *p2;
for (p1 = prim1; p1!= NULL; p1 = p1 -> next)
adauga(prim3, ultim3, p1 -> val, p1 -> poz);
for (p2 = prim2; p2!= NULL; p2 = p2 -> next)
{ int ok = 0;

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy