mihaispr
Administrator
 Inregistrat: acum 17 ani
Postari: 2142
|
|
//Stergerea el.impare<15 dintr-o lista simplu inlantuita
#include<stdio.h> #include<conio.h> #include<process.h> #include<alloc.h> struct nod { int x; struct nod* next; }*l;
int n,i,nrx,x,v[10],a,p,ok=1; 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* c; printf("lista este" ); if (!l) printf("vida" ); else { c=l; while (c) if (c->x%2!=0 && c->x<15) {printf("%3d",c->x); if (c->x==x) c=c->next; } } }
struct nod* sterge(int p) { struct nod* c; if (p==1) l=l->next; //q->next=l;
else { c=l; for(i=1;i<=p-2;i++) c=c->next; // if (p==n) q=c; c->next=c->next->next; } return l; }
void main(void) { clrscr(); printf ("nr de noduri este:" ); scanf("%d",&n); l=creare(); afisare(); printf ("pozitia" ); scanf("%d",&p); l=sterge(p); afisare(); getch(); }
|
|