Probleme Liste


Problema 02.Iunie.2010

/*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->x=1;
    u=p;
    u->urm=NULL;
    for(i=2;i<=7;i++)
    {
        l=new nod;
        l->x=i;
        u->urm=l;
        u=l;
        u->urm=NULL;
    }
    l=p;
    p1=new nod;
    p1=l;
    p=p->urm;
    u1=new nod;
    u1=p;
   
    p1->urm=u1;
    p=p->urm;
    l=new nod;
    l->x=11;
    u1->urm=l;
    u1=l;
   
    u1->urm=p;
    l=p1;
    while(l!=NULL)
        {cout<x<<" ";
        l=l->urm;}
    return 0;
}