Arreglo AYUDA!

Iniciado por JoseCheO, 9 Noviembre 2011, 20:52 PM

0 Miembros y 1 Visitante están viendo este tema.

JoseCheO

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

satu

Señor lo tendrá en su mesa por la mañana.

Léete las normas, anda, no se hacen tareas
Breakbeat como forma de vida

skapunky

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.
Killtrojan Syslog v1.44: ENTRAR

JoseCheO

#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!

rir3760

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:
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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

JoseCheO

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!!