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:
dela_dela
Femeie
24 ani
Bucuresti
cauta Barbat
24 - 48 ani
HousseyReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
Houssey / Programare in C++ /

Problema lista simplu inlantuita-Nr_elemente

Pagini: 1 Moderat de mihaispr
#1
mihaispr
Moderator
Postari: 68
//Nr.el.poz,neg si nule din lista,inv el.listei si ord cresc. a el.listei//

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

int n,i,nrx,j,a[20],aux;
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 afisare(struct nod* l)
{nrx=0;
struct nod* c;
printf("nlista este");
if (!l)
        printf("vida");
else
    {
        c=l;
        while (c)
        if(c->x>0)   //pt.neg c->x<0,pt.nule c->x==0//
         {
             printf("%3d",c->x);
             nrx++;
             c=c->next;
         }
    }
}


void crescator(struct nod * l)
{
struct nod* c,*c1;
for(c=l;c->next;c=c->next)
    {
    for(c1=c->next;c1;c1=c1->next)
         if(c->x>c1->x)
            {aux=c->x;
            c->x=c1->x;
            c1->x=aux;
            }
    }
    printf("n");
    afisare(l);
}

struct nod* inversa(struct nod *l)
{
    struct nod* aux,*c; int v;
    linv=NULL;
    for(c=l;c;c=c->next)
    {
         aux=(struct nod* )malloc(sizeof(struct nod));
         aux->x=c->x;
         aux->next=linv;
         linv=aux;
     }
     return linv;
}

void main(void)
{
clrscr();
printf ("nr de noduri este");
scanf("%d",&n);
l=creare();
afisare(l);
printf("nEl.pozitive apar de %d ori in lista",nrx);
linv=inversa(l);
afisare(linv);
crescator(l);
getch();
}


 
   
Pagini: 1  
Mergi la