problema con ejercicio array+function

Iniciado por xemnas, 8 Noviembre 2011, 19:39 PM

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

xemnas


hola a tod@s, no consigo que me funcione la funcion para que me sume los numeros pares del array y el numero pares qe hay, alguien me puede ayudar? gracias
        $vector=array(1,4,9,5,2,6,98,23,-40,3,76,9,-8,3,1,4,7,0);
        $suma=0;
        $sumapares=0;
        $numpares=0;
     
         
       function execute($vector[$i]){
         suma_elementos_pares($vector[$i]);
         
      }
         
      
         function suma_elementos_pares($elemento){
            if(($elemento%2)==0) {
                $sumapares=$sumapares+$elemento;
                $numpares++;

         return $numpares; }
                     
          }
         
      
       while($i<count($vector)){
 
        execute($vector[$i]);
   
            $i++;
        }


xemnas

no, en la consola de errores no sale ninguno error

Pablo Videla

Mejor lo reviso en la noche xD acabo de dar una respuesta estupida que acabo de eliminar  :xD :xD :xD

fran800m

Tabula y usa la etiqueta de código para que se pueda leer.

Pablo Videla

Para que se pueda leer bien...
Código (php) [Seleccionar]
 $vector=array(1,4,9,5,2,6,98,23,-40,3,76,9,-8,3,1,4,7,0);
       $suma=0;
       $sumapares=0;
       $numpares=0;
   
       
      function execute($vector[$i]){
        suma_elementos_pares($vector[$i]);
       
     }
       
     
        function suma_elementos_pares($elemento){
           if(($elemento%2)==0) {
               $sumapares=$sumapares+$elemento;
               $numpares++;

        return $numpares; }
                   
         }
       
     
      while($i<count($vector)){
 
       execute($vector[$i]);
 
           $i++;
       }

Pablo Videla

Porque no haces el ciclo en el metodo y sumas todo de una , en vez de recibir por parametro un elemento cada vez que se ejecuta el metodo, creo que es un problema de logica.

WHK

#7
Hola, tu código es php y esto deberia ir en el subforo de php porque acá no todos te van a descifrar que lenguaje estás usando porque no todos conocen de sintaxis php.

Código (php) [Seleccionar]
<?php
echo 'Total: '.(int)suma(array(1,4,9,5,2,6,98,23,-40,3,76,9,-8,3,1,4,7,0));

function 
suma($vec){
if((!isset($vec)) or (!is_array($vec)))
return 0;
$ex = array();
foreach($vec as $sum){
if(((int)$sum%2) == 0)
$ex[] = (int)$sum;
}
if(count($ex) > 0){
$ret 0;
foreach($ex as $do){
$ret += (int)$do;
}
return (int)$ret;
}else
return 0;
}

?>


Recuerda que un buén código no es el que hace el trabajo sino el que mejor controla cáda situación porque que tal si a la función tuya le paso un valor que no es un array? de seguro que me va a dar una exepción nativa de php y tendrás una falla de seguridad llamada path disclosure, y si no retorna un valor numérico?, etc.