Why did I repeat 2 times to give the answer correct?

0

Find, in any vector of integer values, a certain element of this, given its value in php:

<?php
 $vet=array(3, 9, 7, 5, 6);
  $chave = 9; // valor que se deseja localizar
$nao_localizado = true;
$candidato = 0; // indice do candidato no vetor

    while ( $nao_localizado && $candidato < $vet){
        if ( $vet[ $candidato ] == $chave ){
        $nao_localizado = false; // localizado o valor
        }else{
        $candidato++; // avanca para o proximo candidatohttp://pt.stackoverflow.com/editing-help
}
    if ( $nao_localizado ){
        echo( "Nao foi localizado o valor " . $chave );
    }
    else{
        echo( "O valor " . $chave .
                " foi localizado na posicao " . $candidato );
    }
} 
    ?>
    
asked by anonymous 02.07.2016 / 22:31

1 answer

0

The search you are doing, is every item in the vector. That is, it compares the item-by-item value of the $vet vector with the value of the $chave variable you are looking for.

He is writing because it is probably a code for academic purposes. In practice, you would only write when you FIND the value, ie you could comment on the echo that you report you did not find.

Down your code in a way that I think will get easier for you to understand.

$vet = array(3, 9, 7, 5, 6); // lista a procurar
$chave = 9; // valor que se deseja localizar

echo "Procurando por $chave na lista: " . implode(", ", $vet).  "."; 

$nao_localizado = true; // afirma que não achou e nega se achar
$candidato = 0; // indice do candidato no vetor

while ($nao_localizado && $candidato < $vet) { // para cada item da lista
    if ($vet[$candidato] == $chave) { // se achou
        $nao_localizado = false; // localizado o valor
    } 

    // escreve se achou ou não achou o item
echo "<br/>Ciclo $candidato do while: "; // marca o ciclo
    if ($nao_localizado) {
        echo( "Nao foi localizado o valor $chave na posicao $candidato do vetor.");
    } else {
        echo( "O valor $chave foi localizado na posicao $candidato do vetor." );
    }
    $candidato++; // avanca para o proximo candidatohttp://pt.stackoverflow.com/editing-help
}

I hope I have helped. Any questions just ask.

    
02.07.2016 / 22:51