Ir ao conteúdo
  • Cadastre-se
Pedro H Nascimento

Mostrar a posição de um vetor

Recommended Posts

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. 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×