Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Escreva um programa C++ para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array - Exercícios Resolvidos de C++Quantidade de visualizações: 283 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros int valores[] = {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 C++: #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // vamos declarar e construir um vetor de 8 inteiros int valores[] = {0, 3, 0, 5, 7, 4, 0, 9}; int j, temp; // variável temporária // vamos mostrar o vetor na ordem original printf("Vetor na ordem original:\n\n"); for(int i = 0; i < 8; i++){ cout << 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(int i = 0; i < 8; 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]; 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 C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
GoLang - Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |