All pastes #728574 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-10-07 04:12 UTC
rendered paste body
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

typedef struct lista{
int num;
struct lista *sig;
}nodo;

typedef struct lista2{
int num;
struct lista2 *sig;
}nodo2;

typedef struct lista3{
int num;
struct lista3 *sig;
}nodo3;


void cargar(nodo *pt);
void mostrar(nodo *pt);
void cargar2(nodo *pt, nodo2 *pt2);
void mostrar2(nodo2 *pt2);
void cargar3(nodo *pt, nodo3 *pt3);
void mostrar3(nodo3 *pt3);
nodo2 *eliminar(nodo2 *pt2,nodo3 *pt3);

void main(){
nodo *prim;
nodo2 *prim2;
nodo3 *prim3;
prim=(nodo *)malloc(sizeof(nodo));
prim2=(nodo2 *)malloc(sizeof(nodo2));
prim3=(nodo3 *)malloc(sizeof(nodo3));
clrscr();
cargar(prim);
printf("\n");
mostrar(prim);
cargar2(prim,prim2);
printf("\n");
mostrar2(prim2);
cargar3(prim,prim3);
printf("\n");
mostrar3(prim3);
prim2=eliminar(prim2,prim3);
printf("\n");
mostrar2(prim2);
getch();
}

void cargar(nodo *registro){
printf("\nIngrese numero: ");
scanf("%d",&registro->num);
if(registro->num==0)
registro->sig=NULL;
else
{
registro->sig=(nodo *)malloc(sizeof(nodo));
cargar(registro->sig);
}
}

void mostrar(nodo *registro){
if(registro->sig!=NULL){
printf("\n%d",registro->num);
mostrar(registro->sig);
}
}

void cargar2(nodo *registro, nodo2 *registro2){
while(registro->sig!=NULL){
if(registro->num%2==0){
registro2->num=registro->num;
registro2->sig=(nodo2 *)malloc(sizeof(nodo2));
registro2=registro2->sig;
registro2->sig=NULL;
}
registro=registro->sig;
}
}



void mostrar2(nodo2 *registro2){
if(registro2->sig!=NULL){
printf("\n%d",registro2->num);
mostrar2(registro2->sig);
}
}

void cargar3(nodo *registro, nodo3 *registro3){
while(registro->sig!=NULL){
if(registro->num%2!=0){
registro3->num=registro->num;
registro3->sig=(nodo3 *)malloc(sizeof(nodo3));
registro3=registro3->sig;
registro3->sig=NULL;
}
registro=registro->sig;
}
}

void mostrar3(nodo3 *registro3){
if(registro3->sig!=NULL){
printf("\n%d",registro3->num);
mostrar3(registro3->sig);
}
}


nodo2 *eliminar(nodo2 *registro2,nodo3 *registro3){
nodo2 *temp;
if(registro2->num%registro3->num==0){
temp=registro2->sig;
free(registro2);
registro2=temp;
}
else
{
temp=registro2->sig;
temp->sig=registro2->sig->sig;
free(registro2->sig);
registro2->sig=temp;
}
return registro2;
}