Imprimir a posição do vetor que armazenar um numero par

3 respostas
X

Ola, tenho esse código:

import java.util.Scanner;
public class ArrayAtividade2 {
    public static void main(String[] args) {
        
        int i = 0; //Controlador
         Scanner teclado = new Scanner(System.in);
         int []vRecebe= new int [5];
         int []vPar = new int [5];
         int []vImpar = new int [5]; 
        
       
System.out.println("Digite 5 números para o vetor: ");
    for( i=0; i<5;i++){   
    int n = teclado.nextInt(); 
     vRecebe[i]=n; //Armazena os 5 valores
     
             if (vRecebe[i] % 2 ==0 ) { //Numeros pares
                 vPar[i]= vRecebe [i];
             }
             else {
                 vImpar[i]= vRecebe [i]; //Numeros impares
             }

              }
         
         System.out.println("O vetor de números pares é: "); //Imprime Pares
         for (i=0; i<vPar.length; i++) {
             System.out.println (vPar[i]);
         }
         System.out.println("O vetor de números ímpares é: "); //Imprime impares
         for (i=0; i<vImpar.length; i++){
             System.out.println(vImpar[i]);
            }

}
}

Mais eu quero que imprima a posição do vetor e não o valor armazenado nele, alguém pode mi dá uma dica?

3 Respostas

Paulo_Dias

seguindo o seu codigo os vetores vPar e vImpar terão posições com e sem conteudo, certo?

defina o que vai ser considerado como valor vazio( sem conteudo )

e teste se o conteudo não é facil imprime a posição, nesse caso o ( i )

L

Amigo você pode modificar seu codigo da seguinte maneira:

import java.util.Scanner;  
public class ArrayAtividade2 {  
    public static void main(String[] args) {  
              
        int i = 0; //Controlador  
        Scanner teclado = new Scanner(System.in);  
        int []vRecebe= new int [5];                            
              
             
		System.out.println("Digite 5 números para o vetor: ");  
		for( i=0; i<5;i++){     
			int n = teclado.nextInt();   
			vRecebe[i]=n; //Armazena os 5 valores                                                                           
      
		}  
		System.out.println("Posição dos numeros pares: "); //Imprime posição dos Pares  
		for (i=0; i<vPar.length; i++) {  
			if((vRecebe[i] % 2) == 0){
				System.out.println(i);  
			}
		}               
    }  
}

Esse codigo faz o qeu você quer, mais você deve tentar mais antes de pedir ajuda par auma logica tão simple… é só um conselho para você melhor! Flw :smiley:

X

E queria fazer com matriz ai peguei o vetor como base, mais é realmente muito simples luizmsegundo, tava imaginando coisa de outro mundo... ;;

Com matriz:
public class MatrizAtividade {
    public static void main(String[] args) {  
    
        int linha = 0;
        int coluna = 0;
        Scanner teclado = new Scanner(System.in); 
        int mRecebe[][] = new int [4][4];
        int mPar[][] = new int [4][4];        
        
        
        for(linha = 0;linha<4; linha ++){
            for(coluna = 0;coluna<4; coluna++){
                
                int n = teclado.nextInt(); 
                mRecebe[linha][coluna]= n;
                
                if((mRecebe[linha][coluna] % 2) == 0){
                    mPar[linha][coluna]= mRecebe[linha][coluna];
                } 
               
            }
    
        } 
       System.out.println("A posição onde foi digitado os numeros pares é: ");
       for(linha = 0;linha<mPar.length; linha ++){
            for(coluna = 0;coluna<mPar.length; coluna++){
                if((mRecebe[linha][coluna] % 2) == 0){
		System.out.println ("Linha: " + linha+" Coluna " + coluna);
                
                } 
               
            }
    }
}
}
Criado 20 de novembro de 2012
Ultima resposta 20 de nov. de 2012
Respostas 3
Participantes 3