![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Escreva um programa Java para separar os números pares de um vetor para a esquerda e os números ímpares para a direita - Lista de Exercícios Resolvidos de JavaQuantidade de visualizações: 1639 vezes |
|
Pergunta/Tarefa: Escreva um programa Java para deslocar os elementos com valores pares de um vetor para a esquerda e os números ímpares para a direita. Seu código deverá declarar e construir um vetor de 10 inteiros e pedir para o usuário informar os valores. Em seguida efetue os deslocamentos dos valores dos elementos e mostre o resultado. Sua saída deverá ser parecida com: Informe o valor do 1.o elemento: 5 Informe o valor do 2.o elemento: 2 Informe o valor do 3.o elemento: 4 Informe o valor do 4.o elemento: 9 Informe o valor do 5.o elemento: 1 Informe o valor do 6.o elemento: 8 Informe o valor do 7.o elemento: 3 Informe o valor do 8.o elemento: 13 Informe o valor do 9.o elemento: 20 Informe o valor do 10.o elemento: 7 20 2 4 8 1 9 3 13 5 7 Veja a resolução comentada deste exercício em Java: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir um vetor de 10 inteiros
int valores[] = new int[10];
// agora vamos pedir para o usuário informar os valores dos elementos
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o valor do " + (i + 1) +
".o elemento: ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// definimos os extremos do vetor. A variável esquerdo
// começa no primeiro índice e a variável direito começa
// no último índice do vetor
int esquerdo = 0;
int direito = valores.length - 1;
// enquanto o lado esquerdo for menor que o lado direito, ou seja,
// as duas variáveis ainda não se encontraram
while (esquerdo < direito) {
// enquanto o valor do vetor no índice [esquerdo] for par e a variável
// esquerdo for menor que a variável direito
while (valores[esquerdo] % 2 == 0 && esquerdo < direito){
esquerdo++; // esquerdo avança um elemento
}
// enquanto o valor do vetor no índice [direito] for par e a variável
// esquerdo for menor que a variável direito
while (valores[direito] % 2 == 1 && esquerdo < direito){
direito--; // esquerdo reduz em um elemento
}
// esquerdo ainda é menor que direito?
if (esquerdo < direito) {
// fazemos a troca dos elementos
int temp = valores[esquerdo];
valores[esquerdo] = valores[direito];
valores[direito] = temp;
esquerdo++; // incrementa o lado esquerdo
direito--; // decrementa o lado direito
}
}
// agora mostramos o valor do vetor com os deslocamentos realizados
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
}
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Python - Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando Python JavaScript - Como remover elementos duplicados de um array em JavaScript usando um Set e o método Array.from() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





