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

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. 

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	}
	}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restore formatting

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.






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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!