/*Intr-o stiva sunt retinute n caiete cu coperti de diferite culori .Un caiet de culoare galbena a uitat sa fie pus in stiva.Acesta trebuie pus deasupra unui caiet de aceeasi culoare cu el.
Realizati un program pentru acest lucru.*/
# include <conio.h>
# include <iostream.h>
int main ()
{ struct nod
{ char c[20];
nod*urm;} *vf,*vf2,*q;
int i,n;
cout<<"n=";cin>>n;
vf=new nod;
vf->urm=NULL;
cin>>vf->c;
for(i=2;i<=n;i++)
{q=new nod;
q->urm=vf;
vf=q;
cin>>q->c;
}
vf2=NULL;
while(strcmp(vf->c,"galben")!=0 && vf!=NULL)
{q=vf;
if(vf2!=NULL)
{vf2=new nod;
vf2=q;
vf2->urm=NULL;
else
{q=vf;
q->urm=vf2;
vf2=q;
vf=vf->urm;
}}
q=new nod;
strcpy(q->c,vf->c)
q->urm=vf;
vf=q;
while(vf2!=NULL)
{vf2->urm=vf;
vf=vf2;
vf2=vf2->urm;
while(vf!=NULL)
{cout<<vf->c<<" ";
vf=vf->urm;
}
return 0;
}}
Problema 31 Mai 2010
/* O garnitura de tren are incomponenta o locomotiva si 6 vagoane. Locomotiva este notata cu 1.
Sa se adauge dupa primu vagon, vagonul de dormit care se va nota cu 11*/
#include
#include
int main()
{
struct nod{
int x;
nod *urm;
} *p,*u,*l,*p1,*u1;
int i;
p=new nod;
p-&gt;x=1;
u=p;
u-&gt;urm=NULL;
for(i=2;i&lt;=7;i++)
{
l=new nod;
l-&gt;x=i;
u-&gt;urm=l;
u=l;
u-&gt;urm=NULL;
}
l=p;
p1=new nod;
p1=l;
p=p-&gt;urm;
u1=new nod;
u1=p;
p1-&gt;urm=u1;
p=p-&gt;urm;
l=new nod;
l-&gt;x=11;
u1-&gt;urm=l;
u1=l;
u1-&gt;urm=p;
l=p1;
while(l!=NULL)
{cout&lt;
l=l-&gt;urm;}
return 0;
}