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++;
}
Te sale algun error en especifico?
no, en la consola de errores no sale ninguno error
Mejor lo reviso en la noche xD acabo de dar una respuesta estupida que acabo de eliminar :xD :xD :xD
Tabula y usa la etiqueta de código para que se pueda leer.
Para que se pueda leer bien...
$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++;
}
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.
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.
<?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.