Cod sursa(job #613515)

Utilizator GrimpowRadu Andrei Grimpow Data 28 septembrie 2011 19:36:43
Problema Tablete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include<iostream>
using namespace std;


typedef struct nod_
{
    int val;
    struct nod_ *urm;
}nod;


nod* cit(int n)
{
    nod *p=new nod;
    nod *copie = p;
    for(int i=0;i<n;i++)
    {
        cin>>p->val;

        if(i!=n-1)
        {
            p->urm =new nod;
            p=p->urm;
        }


    }
    p -> urm = NULL;

    return copie;

}

void afis(nod* p)
{

    while(p != NULL)
    {
        cout<<p-> val<<' ';
        p=p->urm;



    }


}



int main()
{
    int n,i;
    cin>>n;
    nod *p = cit(n);
    nod* copie=p;
    nod* aux;
    for(i=1;i<n;i++)
       {
           if(p -> urm -> val<0)
               {
                   aux=p-> urm-> urm;
                   delete p -> urm;
                   p-> urm = aux;
               }
           else p=p-> urm;
       }
    p=copie;
    if(p->val<0)
      {
          aux=p;
          //delete p;
          p=p->urm;
          delete aux;



    }

    afis(p);
    //distrugere(p);
    return 0;



}