Ir ao conteúdo
  • Cadastre-se

Mostrar a posição de um vetor


Posts recomendados

Olá amigos , estou em duvida em como mostrar a posição do menor numero de um vetor , sendo que o tamanho de elementos do vetor é n (Digitado pelo teclado);

Eu tenho a missão de mostrar o menor valor e a posição do mesmo ;

package vetor;
import java.util.Arrays;
import java.util.Scanner;
public class Vetor {

    public static void main(String[] args) {

        Scanner ler = new Scanner (System.in);
        System.out.println("");
        int n = ler.nextInt();
        int[] v = new int [n];
        int i,menor =0,p = 0;
        for( i = 0; i < n ; i++){
            System.out.println("");
            v[i] = ler.nextInt();
        if (v[i] < menor )
            menor = v[i];
            p = i; // no caso estou em duvida aqui pois vi varios algoritmos e nao esta copilando desta forma
        }
    
        System.out.println("Menor valor: "+menor);
        System.out.println("Posicao: "+p); // chega nesta parte do programa da erro
        }}

Obrigado pela atenção .

PS: Sou iniciante e para muitos pode ser ate burrice minha , pois não estou conseguindo mesmo achar uma solução.obrigado. 

Link para o comentário
Compartilhar em outros sites

Tem uns erros ai na lógica ... 

public static void main(String[] args) {
		Scanner ler = new Scanner(System.in);
		System.out.println("");
		int n = ler.nextInt();
		int[] v = new int [n];
		//Como você está procurando o menor valor, inicialize com o maior valor possível para um inteiro
		//Com isso, não importa o valor digitado, ele sempre vai entrar no if de verificação
		//Antes, você inicializava com 0, então qualquer número positivo não entrava no if
		int i, menor=Integer.MAX_VALUE, p = 0;
		for( i = 0; i < n ; i++){
		    System.out.print("");
		    v[i] = ler.nextInt();
			//quando você faz essa verificação, você precisava guardar o valor e a posição
			//porém sem as chaves ele apenas guardava o valor, e a posição ele guardava EM TODA PASSAGEM, não apenas para o menor
			if (v[i] < menor ){ 
			    menor = v[i];
			    p = i;
			}
		}
		
		System.out.println("Menor valor: "+menor);
		System.out.println("Posicao: "+p); // chega nesta parte do programa da erro	}
	}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...