Posição de elemento de um vetor

7 respostas
ninja2009

Galera, quero imprimir a posição do elemento 3 do vetor:

int i; int vetor[]={3,4,5,1,2,3, 2}; for(i = 0; i<7; i++) { if(vetor[i]==3) { System.out.printf("%d\n " ,i); break; } }
podem me ajudar

7 Respostas

PedroTOliveira

Edit: Entendi errado.

ViniGodoy

O que o programa imprime?

int[] vetor = {3,4,5,1,2,3,2};
   
for(int i = 0; i<vetor.length; i++) {  
     if(vetor[i]==3) {  
        printf("%d%n " ,i);  
     }  
}
andwolf

Faz assim

int[] vetor = {3,4,5,1,2,3,2};  
    
for(int i = 0; i<7; i++) {                // vou de i=0 ate i<7 com o passo de i=i+1
     if(i==3) {                          // se o i=3 (verifico o i porque ele que me da a posição do vetor, ou seja será meu índice)
         printf("%d%n " ,vetor[i]);     //  imprime a posição i do vetor 
         break;
     }    
}

acho que é isso que você quer;

para testar não usei o printf usei o
System.out.println("vetor[" + i + "]: " + vetor[i]);
pmlm

Se fosse isso não precisa de for nenhum, imprimia directo vector[3]…

andwolf

ninja2009 faz do jeito que o pmlm disse pois é a solução mais correta para seu problema

PedroTOliveira

Gente,

Ele quer a posição no vetor do elemento 3! No caso é a posição 0.

O que o *pmlm postou foi o mesmo que eu havia entendido inicialmente.

pmlm

Se quer a primeira posição do 3, o código dele já funciona (imprime 0), a não ser que o pretendido seja 1 (de primeira posição), aí:

int i; int vetor[] = { 3, 4, 5, 1, 2, 3, 2 }; for (i = 0; i < 7; i++) { if (vetor[i] == 3) { System.out.printf("%d\n", i+1); break; } }

Se quer todas as ocorrencias de 3 (há duas no vector) só tem de tirar o break

Criado 9 de setembro de 2010
Ultima resposta 9 de set. de 2010
Respostas 7
Participantes 5