elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 05:38  

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  INTERSECCION DE LISTAS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: INTERSECCION DE LISTAS  (Leído 1,114 veces)
mapers


Desconectado Desconectado

Mensajes: 503


Ver Perfil
INTERSECCION DE LISTAS
« en: 8 Marzo 2010, 03:05 »

Código
 
#include<iostream.h>
 
using namespace std;
 
struct nodo{
      int numero;
      struct nodo *siguiente;
      };
typedef struct nodo *mapers;
 
void insertaralinicio(mapers &,int );
void imprimir(mapers &);
void intersectarlistas(mapers &,mapers &,mapers &);
 
 
void intersectarlistas(mapers &lista1,mapers &lista2,mapers &lista3)
 
{
mapers a=lista1,b=lista2,temporal;
if(lista1!=NULL && lista2!=NULL)
while(a->siguiente!=NULL)
if(a==b)
{
temporal=b;
a=a->siguiente;
}
while(b->siguiente!=NULL)
b=b->siguiente;
lista3=temporal;
}
 
void insertaralinicio(mapers &lista,int numero1)
{
mapers q;
q=new(struct nodo);
q->numero=numero1;
q->siguiente=lista;
lista=q;
}
 
void imprimir(mapers &lista)
{
while(lista!=NULL)
{
cout<<lista->numero<<endl;
lista=lista->siguiente;
}
}
 
int main ()
{
mapers lista1,lista2,lista3;
int i,k,n,numero1,numero2;
lista1=lista2=lista3=NULL;
 
 
cout<<"numero de elementos de la lista 1"<<endl;
cin>>k;
 
for(i=0;i<k;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero1;
insertaralinicio(lista1,numero1);
}
cout<<"lista 1"<<endl;
imprimir(lista1);
cout<<"numero de elementos de la lista 2"<<endl;
cin>>n;
 
for(i=0;i<n;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero2;
insertaralinicio(lista2,numero2);
}
 
cout<<"lista 2"<<endl;
imprimir(lista2);
 
cout<<"interseccion de listas "<<endl;
intersectarlistas(lista1,lista2,lista3);
imprimir(lista3);
system("pause");
 
}
 
 
 



uy no se que pasara algo  hize mal pero lo plantie bien el algoritmo  para calcular la interseccion de listas enlazadas (   xD  )

EI: juntando mensajes.

que nop me piensan ayudar  ........mira este es mi avance.....
Código
 
#include<iostream>
 
using namespace std;
 
struct nodo{
      int numero;
      struct nodo *siguiente;
      };
typedef struct nodo *mapers;
 
void insertaralinicio(mapers &,int );
void imprimir(mapers &);
void intersectarlistas(mapers &,mapers &,mapers &);
 
 
void intersectarlistas(mapers &lista1,mapers &lista2,mapers &lista3)
 
{
mapers a=lista1,b=lista2,temporal;
if(lista1!=NULL && lista2!=NULL)
while(a->siguiente!=NULL)
if(a->numero == b->numero)
{
temporal = b;
a=a->siguiente;
}
while(b->siguiente!=NULL)
b=b->siguiente;
lista3=temporal;
}
 
void insertaralinicio(mapers &lista,int numero1)
{
mapers q;
q=new(struct nodo);
q->numero=numero1;
q->siguiente=lista;
lista=q;
}
 
void imprimir(mapers &lista)
{
while(lista!=NULL)
{
cout<<lista->numero<<endl;
lista=lista->siguiente;
}
}
 
int main ()
{
mapers lista1,lista2,lista3;
int i,k,n,numero1,numero2;
lista1=lista2=lista3=NULL;
 
 
cout<<"numero de elementos de la lista 1"<<endl;
cin>>k;
 
for(i=0;i<k;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero1;
insertaralinicio(lista1,numero1);
}
cout<<"lista 1"<<endl;
imprimir(lista1);
cout<<"numero de elementos de la lista 2"<<endl;
cin>>n;
 
for(i=0;i<n;i++)
{
cout<<"ingrese elemento"<<endl;
cin>>numero2;
insertaralinicio(lista2,numero2);
}
 
cout<<"lista 2"<<endl;
imprimir(lista2);
 
cout<<"interseccion de listas "<<endl;
intersectarlistas(lista1,lista2,lista3);
imprimir(lista3);
system("pause");
 
}
 
 
 



pero igula no me  da  la intersecion de la lista............a ver en que estoy mal o k estoy haciendo mal


« Última modificación: 9 Marzo 2010, 10:49 por Eternal Idol » En línea
darkraider

Desconectado Desconectado

Mensajes: 229



Ver Perfil
Re: INTERSECCION DE LISTAS
« Respuesta #1 en: 9 Marzo 2010, 10:34 »

Hace un mes o por ahí se publicó algo de intersección de listas. Salu2


En línea

Curioso de mi...
ҒrεακΠιи∂

Desconectado Desconectado

Mensajes: 184



Ver Perfil
Re: INTERSECCION DE LISTAS
« Respuesta #2 en: 11 Marzo 2010, 06:22 »

Buenas

Lo unico que tenes que hacer es comparar cada elemento de una lista con TODOS los elementos de la otra. Si existe coincidencia, dejas ese elemento, sino lo descartas.

PD: Ayudaria q la lista este ordenada y que no hubiera repetidos.

Salu2
FreakMind
En línea

Connoisseurs of C semantics find C++ inferior to ++C
Zzombi

Desconectado Desconectado

Mensajes: 171



Ver Perfil WWW
Re: INTERSECCION DE LISTAS
« Respuesta #3 en: 11 Marzo 2010, 17:46 »

no te enseñaron a colocar espacios y salto de linea en el código ? :-\ no dan ni ganas de leerlo  ;)
« Última modificación: 11 Marzo 2010, 17:48 por Zzombi » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calcular la intersección de dos segmentos
Programación C/C++
DickGumshoe 6 564 Último mensaje 31 Octubre 2011, 23:11
por DickGumshoe
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines