Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JoseCheO en 9 Noviembre 2011, 20:52 pm



Título: Arreglo AYUDA!
Publicado por: JoseCheO en 9 Noviembre 2011, 20:52 pm
AYUDA CON MI EJERCICIO..

Diseñe una funcion q reciba por parametro dos arreglos de 10 elementos cada uno y realice la INTERCECCION de los 2 arreglos , es decir todo elemento que se encuentre en el arreglo A y tambien se encuentre en el arreglo B. el resultado debe ser almacenado en un arreglo, pero si esa repetido solo debe aparecer una sola vez en el arreglo resultado, dicho arreglo sera retornado por la funcion


Título: Re: Arreglo AYUDA!
Publicado por: satu en 9 Noviembre 2011, 20:59 pm
Señor lo tendrá en su mesa por la mañana.

Léete las normas, anda, no se hacen tareas


Título: Re: Arreglo AYUDA!
Publicado por: skapunky en 9 Noviembre 2011, 21:10 pm
Si quieres ayuda te recomendamos que pegues el codigo, de lo contrario nadie va a estar X tiempo de su vida programandote un ejemplo para ponerlo aquí, si fueran tres líneas si pero tu caso requiere que aportes el codigo ya que hasta ahora nadie es adivino.


Título: Re: Arreglo AYUDA!
Publicado por: JoseCheO en 10 Noviembre 2011, 00:59 am
#include <iostream>
using namespace std;

long llenararr (long arrA[10], long arrB[10])
{
   long arrC[10];
   int x,y,i;
for (x=0;x<=9;x++);
{
cout<<"Ingrese El Numero"<<x<<endl;
cin>>arrA[x ];
}
for (y=0;y<=9;y++);
{
   cout<<"Ingrese El Numero"<<y<<endl;
   cin>>arrB[y ];
}
if (arrA[x ] == arrB[y ]);
   for (i=0;i<=9;i++);
   {
   cout <<"ESTE SON LOS NUMEROS REPETIDOS"<<arrC[i ]<<endl;
   }
   return (arrC[10]);
}

hay esta mi funcion ... pero no se como llamarla en el main()
Porfa ayuda!


Título: Re: Arreglo AYUDA!
Publicado por: rir3760 en 10 Noviembre 2011, 01:20 am
El problema con esa función es que no hace nada de lo indicado, solo pide los elementos de los arrays y tiene varios errores importantes.

Después de los dos bucles los contadores "x" y "y" tienen el valor 10 y no puedes utilizar este como indice de un array de 10 elementos porque el ultimo tiene el indice 9:
Código
  1. if (arrA[x ] == arrB[y ]);
Aparte tienes un punto y coma de mas justo después del "if".

Y el bucle que imprime los repetidos solo imprime el tercer array pero no le das un valor inicial a ninguno de sus elementos.

La forma mas simple de realizar la operación que indicas es:

1) Tomas el primer array, lo ordenas y descartas repetidos.
2) Mismo caso con el segundo array.

3) Realizas un bucle comparando el primer elemento de ambos arrays:
3.A) Si son iguales se agrega al array de resultados y descartas los elementos de ambos arrays.
3.B) Si son distintos descartas el menor.
4) El bucle se repite mientras haya elementos en ambos arrays.

Un saludo


Título: Re: Arreglo AYUDA!
Publicado por: JoseCheO en 10 Noviembre 2011, 01:43 am
osea q mi funcion solo sirve para llenar los arreglos y no para comparar :/...

podrias ayudarme con un ejemplo para comparar ?? xq de verdad no entiendo!!