[C] Programa para pegar o maior valor e menor valor com seu respectivo código

27/03/2017

0

C

Olá, boa noite!

Estou fazendo um programa onde você adiciona o peso e ID num vetor, e após terminar o número máximo, ele deveria mostrar o valor do maior peso + ID dele e o valor do menor peso + ID. O problema é que quando ele tenta mostrar o valor do menor dá um número grotesco tanto para o ID quando para o peso.


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

int main()
{
	int peso[4];
	int id[4];
	int x, y, maior, maior1, menor, menor1;
	
	x = 0;
    y = 0;

    maior = id[0];
    maior1 = peso[0];
    menor = id[0];
    menor1 = id[0];
    
	for(x=1 ; x <= 3 ; x++)
	{
			printf ("ID ");
			scanf ("%d", &id[x]);
			printf ("Peso ");
			scanf ( "%d", &peso[y] );
			if (peso[y] > maior1 )
				{
					maior = id[x];
					maior1 = peso[y];

				}
            else if (peso[y] < y)
            {
                menor = id[x];
                menor1 = peso[y];
            }
	}
	printf ("O maior peso foi do: \\n");
	printf ("ID: %d", maior);
	printf ("\\n  \\n");
	printf ("Peso: %d", maior1 );
	printf ("\\n  \\n");
	printf ("O menor peso foi do: \\n");
	printf ("ID: %d", menor);
	printf ("\\n  \\n");
	printf ("Peso: %d", menor1 );
	printf ("\\n  \\n");
	system ("pause");
	return 0;
}
Gabriel Barbosa

Gabriel Barbosa

Responder

Post mais votado

28/03/2017

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,maior,menor,num;
num=0;
maior=0;
menor=0;
for(i=0;i<10;i++) {
printf("DIGITE UM NUMERO INTEIRO\\n");
scanf("%d",&num);
if (i == 0)
maior = menor = num;
printf("NUMERO DIGITADO:%d\\n",num);
if (num > maior)
maior = num;
printf("MAIOR: %d\\n",maior);
if (num < menor)
menor = num;
printf("MENOR: %d\\n",menor);
}
printf("O NUMERO MAIOR E:%d\\n",maior);
printf("O NUMERO MENOR E:%d\\n",menor);
system("pause");
return 0;
}

Alessandro Yamasaki

Alessandro Yamasaki
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar