Ir ao conteúdo
  • Cadastre-se
Beatriz Fieldkircher

Programa para encontrar valor maior e menor do vetor, não sei onde errei.

Recommended Posts

Programa que recebe um vetor com 20 valores inteiros e apresente o maior, o menor e suas respectivas posições em que os mesmos foram informados. Caso existam valores iguais mostre a posição da primeira ocorrência.

 

- O programa roda, mas na hora de mostrar o valor maior e as posições dos valores, aparecem números errados, me ajudem a ver o que fiz de errado?

 

#include <stdio.h>
#include <stdlib.h>
#define DIM 20

int main (void){
    int i, menor, maior, c;
    int vetor[DIM];
    maior = vetor[0];
    menor = vetor[0];
    printf("\n\tDigite 20 valores do vetor: \n");

    for (i = 0; i<DIM; i++){
        scanf("%d", &vetor);
        if (vetor > maior) maior = vetor;
        if (vetor < menor) menor = vetor;
        if (vetor == maior) maior = maior;
        if (vetor == menor) menor = menor;
    }
    printf("\n\t Maior valor: %d está na posição: %d\n", maior, i);
    printf(" Menor valor: %d está na posição: %d\n", menor, i);
    printf("primeira ocorrência do número maior: %d ", i);
    printf("\nprimeira ocorrência do número menor: %d ", i);

return 0;
}

 

Editado por dif
inserir o código com o botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Beatriz Fieldkircher olha simplesmente você estava lendo e comparando da certo tambem mais e mais seguro você ler os valores e depois fazer comparacoes outro erro e que você recebeu nas variais 
maior = vetor[0];
menor = vetor[0];

antes mesmo de ler o vetor dai so tinha lixo de memoria.

 

#include <stdio.h>
#include <stdlib.h>
#define DIM 20
 
int main (void){
    int i, menor, maior, contM,contm,oM = 0,om = 0;
    int vetor[DIM];
    printf("\n\tDigite valor do vetor: ");
    scanf("%d", &vetor);
    maior = vetor[0];
    menor = vetor[0];
    
    for (i = 1; i<DIM; i++)
    	{
    		printf("\n\tDigite valor do vetor: ");
    		scanf("%i",&vetor[i]);
		}

    for (i = 0; i<DIM; i++){

        if (vetor[i] > maior)
		{
			maior = vetor[i];
			contM = i;
		} 
        else if (vetor[i] < menor) 
		{
			menor = vetor[i];
			contm = i;
		}
        else if (vetor[i] == maior)
		{
			maior = maior;
			oM = i;
		} 
        else if (vetor[i] == menor)
		{
			menor = menor;
			om = i;
		} 
    }
    printf("\n\t Maior valor: %d esta na posicao: %d\n", maior, contM + 1);
    printf(" \tMenor valor: %d esta na posicao: %d\n", menor, contm + 1);
    if(oM == 0 && om == 0)
    {
    	printf("\nNao Houve Ocorrencias");
	}
	else
	{
		printf("primeira ocorrencia do numero maior: %d ", i);
    	printf("\nprimeira ocorrencia do numero menor: %d ", i);
	}
    

return 0;
}

 

  • 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

×