Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array - Desafio de Programação Resolvido em PHPQuantidade de visualizações: 1518 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando PHP: <?php // Este código PHP pode ser executado tanto na linha // de comando quanto pelo servidor web // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); // vamos mostrar o vetor na ordem original echo("Vetor na ordem original:\n"); for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " "; } // vamos inicializar j como 0 para que ele aponte para // o primeiro elemento do vetor $j = 0; // agora o laço for percorre todos os elementos do vetor, // incrementanto a variável i e deixando o j em 0 for($i = 0; $i < count($valores); $i++){ // encontramos um valor que não é 0 if($valores[$i] != 0){ // fazemos a troca entre os elementos nos índices // i e j $temp = $valores[$i]; $valores[$i] = $valores[$j]; $valores[$j] = $temp; // e avançamos o j para o elemento seguinte $j++; } } // agora mostramos o resultado echo "\n\nVetor com os zeros deslocados para o final:\n"; for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " "; } ?> Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |