Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Henrique Sousa

PHP - Array - Maior - Par

Recommended Posts

Galera, eu preciso informar o maior valor par que aparece no vetor, mas quando o maior valor não é par acaba não aparecendo nada, e e não tô conseguindo resolver esse problema, eu estou começando agora a aprender programação, não me chinguem se essa lógica não for a certa, ou se estiver uma "merda".			

 

<?php

 

$v = array (rand (0,100), rand (0,100), rand (0,100), rand (0,100),

rand (0,100),rand (0,100), rand (0,100), rand (0,100),

rand (0,100), rand (0,100),rand (0,100), rand (0,100),

rand (0,100));

 

$maior = "";

$m="";

 

for ($i=0; $i<=12; $i++){

echo "\$v[$i]=$v[$i]<br>";

if($m < $v[$i] ){

$m = $v[$i];

}

if ($m%2==0){

$maior = $m;

}

 

}

 

 

 

echo "$maior";

 

 

 

?>




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui voce fala para o programa, se o resto de uma divisão por 2 for igual a zero faça o que ta dentro dos parenteses.Pela matematica, o numero par é 2n , n = Z, em outras palavras, se for par executa isso ae...por isso so funciona com numeros pares

if  ($m%2==0){ 
     $maior = $m;
}

Voce pode reduzir isso tudo ai a uma simples funcção ja nativa do php, max().

Veja um exemplo:

 

 

 

 

<?php 

   $arr = [
            rand (0,100), rand (0,100), rand (0,100), rand (0,100), 
            rand (0,100),rand (0,100), rand (0,100), rand (0,100),
            rand (0,100), rand (0,100),rand (0,100), rand (0,100), 
            rand (0,100)
          ];

    echo "<pre>";
    print_r($arr);

    echo "\nMaior: " . max($arr);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui voce fala para o programa, se o resto de uma divisão por 2 for igual a zero faça o que ta dentro dos parenteses.Pela matematica, o numero par é 2n , n = Z, em outras palavras, se for par executa isso ae...por isso so funciona com numeros pares

if  ($m%2==0){ 
     $maior = $m;
}

Voce pode reduzir isso tudo ai a uma simples funcção ja nativa do php, max().

Veja um exemplo:

<?php 

   $arr = [
            rand (0,100), rand (0,100), rand (0,100), rand (0,100), 
            rand (0,100),rand (0,100), rand (0,100), rand (0,100),
            rand (0,100), rand (0,100),rand (0,100), rand (0,100), 
            rand (0,100)
          ];

    echo "<pre>";
    print_r($arr);

    echo "\nMaior: " . max($arr);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado, vou pesquisar mais sobre essa função max(), eu não a conheço...
Sou iniciante em programação...



  • cristianoolv, realmente a função max é muito interessante, mas ela retorna apenas o maior valor, e no exercício eu preciso retornar o maior valor PAR, e é isso que está quebrando minha cabeça, pq quando o maior valor não é PAR ele não informa nada...

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

 

$arr = [

rand (0,100), rand (0,100), rand (0,100), rand (0,100),

rand (0,100),rand (0,100), rand (0,100), rand (0,100),

rand (0,100), rand (0,100),rand (0,100), rand (0,100),

rand (0,100)

];

 

echo "<pre>";

print_r($arr);

 

echo "\nMaior numero par: " . max(array_filter($arr, function($v){ return !($v & 1); }));

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.