Foros del Web » Programando para Internet » PHP »

unir, intersectar y diferencia de conjunto

Estas en el tema de unir, intersectar y diferencia de conjunto en el foro de PHP en Foros del Web. Buenas noches a todos, Tengo un ejercicio de la uni donde me mandaron dado 2 arreglo, mediante phph (sin usar las funciones integradas) unir 2 ...
  #1 (permalink)  
Antiguo 29/01/2011, 23:16
 
Fecha de Ingreso: abril-2006
Ubicación: Venezuela
Mensajes: 126
Antigüedad: 18 años
Puntos: 0
unir, intersectar y diferencia de conjunto

Buenas noches a todos,

Tengo un ejercicio de la uni donde me mandaron dado 2 arreglo, mediante phph (sin usar las funciones integradas) unir 2 arreglos (la suma debe ir en un nuevo arreglo), intersectarlo (ir en nuevo arreglo) y diferencia (nuevo arreglo).

Empece haciendo las funciones de union e interseccion las cuales son:

Código PHP:
// union 
$union $arrp arra;


// interseccion
for($i=0;$i<count($arrp);$i++)         { 
            
                 for(
$j=0;$j<count($arra);$j++) 
            {
                
                if (
$arrp[$i]==$arra[$j]){
                    echo 
$arrp[$i];
                    
$interseccion[] =$arrp[$i];
                    
                }
                
                
$interseccion array_unique($interseccion);
            }
            

El problema es que ninguna de las 2 funciones me esta sirviendo la primera no me esta uniendo y la segunda no me esta intersectando.

Por favor pueden ayudarme en esto, gracias.
  #2 (permalink)  
Antiguo 30/01/2011, 08:37
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: unir, intersectar y diferencia de conjunto

Se supone que no puedes usar las funciones de arreglos, que son las que comienzan con array_ pero te deverian dar el mismo resultado que las funciones de unión e intersección de php...
Para recorrer los arreglos te sugiero foreach quizás sea mas cómodo.

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #3 (permalink)  
Antiguo 31/01/2011, 15:16
 
Fecha de Ingreso: abril-2006
Ubicación: Venezuela
Mensajes: 126
Antigüedad: 18 años
Puntos: 0
Respuesta: unir, intersectar y diferencia de conjunto

Buenas Tardes a todos,

Ya pude resolver como hacerlo y lo coloco en este Foro ya que puede ser de apoyo para otras personas

Interseccion en PHP sin usar la funcion array_intersect
Código PHP:
        $cabaexplode (" "$_SESSION["arra"]);
    
$cabbexplode (" "$_SESSION["arrb"]);
    
    
$interseccion = array();
    
        
    for(
$i=0;$i<count($caba);$i++)         { 
        for(
$j=0;$j<count($cabb);$j++)             {
                
            if (
$caba[$i]==$cabb[$j]){
                
//echo $cabb[$i];
                
$interseccion[] =$caba[$i];
                    
            }
                
            
$interseccion array_unique($interseccion);
        }
            
    }
    echo 
'    Interseccion con el conjunto B =    ';
    
$cppimplode (","$interseccion);
    echo 
$cpp
Diferencia: Dado 2 conjuntos muestra los elementos que no tienen en comun.
Código PHP:
        $cabaexplode (" "$_SESSION["arra"]);
    
$cabbexplode (" "$_SESSION["arrb"]);
    
    
$dif = array();
    
$dif1 = array();
    
    for(
$i=0;$i<count($caba);$i++) { 
        for(
$j=0;$j<count($cabb);$j++) {
                
            if (
$caba[$i]==$cabb[$j]){
                   
$true true
                                break;
                    
            }
                
        }
        
                if (!isset(
$true)) { 
                        
                     
$dif[$i] = $caba[$i]; 
                 } 

        unset(
$true); 
    }
    
    for(
$i=0;$i<count($cabb);$i++) { 
        for(
$j=0;$j<count($caba);$j++) {
                
            if (
$cabb[$i]==$caba[$j]){
                
$true true
                              break;
            }
        }
        if (!isset(
$true)) { 
                        
                        
$dif1[$i] = $cabb[$i]; 
                 } 
        unset(
$true); 
    }
    
    
$diferente array_merge ($dif$dif1);
    
$diferente array_unique($diferente);
    echo 
'    Diferencia del conjunto A con el conjunto B =    ';
    
$cppimplode (","$diferente);
    echo 
$cpp;
    
//print_r($diferente);
    
break; 
Espero que sea de utilidad para alguien, Gracias a todos por su colaboración, este Foro vale Oro.

Etiquetas: conjunto, diferencia, unir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.