Ir para conteúdo
Fórum Script Brasil
  • 0

Posição de um valor no vetor errado


princknoby

Pergunta

Olá, tudo bem? 
Esse programa é pra receber 5 valores, armazenar em um vetor, e mostra qual foi o maior, e o menor, e suas respectivas posições no vetor. 

Porém, o código está retornando a posição do menor vetor errado! 
Está retornando o menor e o maior correto, e a posição do maior correto também, mas a posição do menor está errado. 
Já cansei de procurar erros, não achei nada! 

Inclusive copiei a parte de imprimir o valor e a posição do menor em outro documento e compilei, e rodou certinho, deu o resultado correto! 
Mas quando coloco no código do programa todo, o resultado fica errado. 

Alguém podeira dar uma olhada pra mim? E achar algo que eu não consegui encontrar?

 

Código: 

#include <stdio.h> 
#include <stdlib.h> 

int main () 
{
    int  i, maior, menor, v[5], po_menor, po_maior;
{
    for (i=0; i<5; i++)
    {
        printf ("Digite o valor da posicao %d do vetor:", i);
        scanf ("%d", &v);
    }
}

    maior=v[0];
{
    for (i=0; i<5; i++)
    {
        if (maior < v) {
        maior=v;
        po_maior=i; //precisamos usar uma variável para armazenar a posição do vetor
    }
    }
}

        menor=v[0];
{
        for (i=0; i<5; i++)
        {
            if (menor > v) {
                menor=v;
                po_menor=i; //precisamos usar uma variável para armazenar a posição do vetor
            }
        }
    }
    printf ("O menor numero foi %d e esta na posicao %d\n\n",  menor, po_menor);
    {
        printf ("\nO maior numero digitado foi %d e esta na posicao %d do vetor!\n",  maior, po_maior);
    }

    system ("pause");
    return 0;
}

 

  Obrigado! 

Editado por princknoby
Sintaxe
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá @princknoby  Realmente você não estava inicializando as variáveis q usa em seu código. Bom q resolveu sozinho essa questão. É por aí mesmo

Apenas uma dica q gostaria de dar: Se quiser postar um código bem identado aqui ou mesmo em outro fórum de programação, recomendo esse site:

https://www.tutorialspoint.com/online_c_formatter.htm

Mesmo q seu código esteja bem identado na IDE q você usa, ao postar aqui pode e normalmente aparecem erros na identação

Também vou tomar a liberdade, se me permite, de postar seu código identado nesse site q mencionei e fazendo referência aos índices q não estão presentes no código q você postou, mas q provavelmente deva ter ajustado também. Isso para fins didáticos:

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int  i, maior= 0, menor = 0, v[5], po_menor = 0, po_maior = 0;

    for (i=0; i<5; i++)
    {
        printf ("Digite o valor da posicao %d do vetor: ", i);
        scanf ("%d", &v[i]);
    }

    maior = v[0];
    for (i = 1; i < 5; i++)
    {
        if (v[i] > maior) {
            maior = v[i];
            po_maior = i; //precisamos usar uma variável para armazenar a posição do vetor
        }
    }

    menor = v[0];
    for (i = 1; i < 5; i++)
    {
        if (v[i] < menor) {
            menor = v[i];
            po_menor = i; //precisamos usar uma variável para armazenar a posição do vetor
        }
    }

    printf ("O menor numero foi %d e esta na posicao %d\n",  menor, po_menor);
    printf ("O maior numero digitado foi %d e esta na posicao %d do vetor!\n",  maior, po_maior);

    system ("pause");

    return 0;
}

OBS: Só um ponto q notei em seu código: você vinha fazendo uso de chaves onde não era de fato preciso, e seria bom ajustar isso para não ser induzido ao erro. Perceba a diferença no código agora e no código q você postou na parte da sintaxe (uso das chaves). Creio q é interessante entender essa parte

No geral, ótimo código 😉

Editado por Visitante
correção no código
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...