Simpatie.ro - matrimoniale
Houssey
Un forum unde va puteti distra si vb liber despre orice...deci va astept sa postati cat mai mult posibil :))
Nou pe simpatie:
amy70 pe Simpatie.ro
Femeie
24 ani
Bucuresti
cauta Barbat
31 - 59 ani
HousseyReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
Houssey / Programare in C++ /

Problema lista simplu inlantuita-Divizare pozitive/negative

Pagini: 1 Moderat de mihaispr
#1
mihaispr
Moderator
Postari: 68
/*Sa se contr.dintr-o lista l 2 liste una a nr.pozitive(l1) si alta a
nr.negative(l2)*/

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<alloc.h>
struct nod
{
int x;
struct nod* next;
}*l,*l1,*l2;

int n,i,x,v;

struct nod* creare()
{
    struct nod* aux; int v;
    l=NULL;
    for(i=n;i>=1;i--)
    {
         aux=(struct nod* )malloc(sizeof(struct nod));
         printf("valoarea nodului %d=",i);
         scanf("%d",&v);
         aux->x=v;
         aux->next=l;
         l=aux;
     }
     return l;
}


void divizare(struct nod* l)
{struct nod *c,*aux;int i=1;
l1=NULL;
l2=NULL;
for(c=l;c;c=c->next)
{
            aux=(struct nod* )malloc(sizeof(struct nod));
            aux->x=c->x;
            if(c->x>0)
            {
             aux->next=l1;
             l1=aux;
             }
            else{
             aux->next=l2;
             l2=aux;
            }
     }
}

void afisare(struct nod* l)
{
struct nod* c;
printf("lista este");
if (!l)
        printf("vida");
else
    {
        c=l;
        while (c)
         {
             printf("%3d",c->x);
             c=c->next;
         }
    }
    printf("n");
}

void main(void)
{
clrscr();
printf ("nr de noduri este:");
scanf("%d",&n);
l=creare();
afisare(l);
divizare(l);
printf("nLista nr pozitive: ");
afisare(l1);
printf("nLista nr negative: ");
afisare(l2);
getch();
}


 
   

Topicuri similare

Pagini: 1  
Mergi la