Ir ao conteúdo
  • Cadastre-se

C Retirar o Maior e Menor valor de um laço de repetição


pRETIRSON
Ir à solução Resolvido por herbertbahia,

Posts recomendados

Olá estou aprendendo C e estou com uma duvida.

Estou criando um código referente á um campeonato brasileiro em que preciso retirar o campeão e o último colocado;


 

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

int main (void){
	
	int time, i, vit, Pvit, emp, Pemp, der, Pder, soma, maior, menor, maior_ponto, menor_ponto, time_campeao, time_perdedor;
	float aproveitamento=0;
	
	printf("Informe o nome do time, vitorias, empates e derrotas referente a 38 rodadas do brasileirao:\n");
	
	do{
		
		printf("\nInforme o nome do time:");
		scanf("\n%d",&time);						
		printf("Num de vitorias:");
		scanf("\n%d",&vit);
		printf("Num de empates:");
		scanf("\n%d",&emp);
		printf("Num de derrotas:");
		scanf("\n%d",&der);	
		
		soma = maior;
		soma = menor;	
		
		Pvit = vit * 3;
		Pemp = emp * 1;
		Pder = der * 0;
		soma = Pvit + Pemp + Pder;
		aproveitamento = (soma / (double)114) * 100;
		
		
		printf("\nPontuacao: %d\n", soma);
		printf("\nAproveitamento: %.2f""%%\n", aproveitamento);
		
		if( soma > maior){
			maior = soma;
			time_campeao = time;
		}
	    if( soma < menor){
			menor = soma;
		    time_perdedor = time; 	
	    }
		i++;		
		
	}while (i<3);	
	
	
				
	
	printf("\nCampeao: %d Pontuacao: %d\n",time_campeao,maior);
	printf("Ultimo Colocado: %d Pontuacao: %d",time_perdedor,menor);	
}

 

Mas não tenho ideia de como armazenar o maior e o menor valor em outra variável junto com o nome do time...

Alguém me dá uma luz??? 

Link para o comentário
Compartilhar em outros sites

Cara, ao invés de colocar a imagem, copie e cole o código no post, fica mais fácil de te ajudar.

Primeiro, você ta comparando soma com maior, mas o maior não tem valor nenhum, você nem sequer iniciou ele, então você tem que colocar o maior como o valor que você quer comparar entre os times pra ver qual é o melhor. Ex:

	Pvit = vit * 3;
	Pemp = emp * 1;
	Pder = der * 0;
	soma = Pvit + Pemp + Pder;
	maior = soma;

Daí você compara os outros com esse maior. E outra coisa, no final você colocou soma = maior_ponto e time = time_campeao, sendo que as variáveis time_campeao e maior_ponto não tem valor nenhum, então tem que ser ao contrário: maior_ponto = soma e time_campeao = time, para atribuir o valor de soma a maior_ponto e de time a time_campeao, e assim imprimir o que você quer no final. Espero ter ajudado.

  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • Solução
#include <stdio.h>
#include <string.h>
#include<locale.h>

int main (){
	setlocale(LC_ALL,"");
	char time[20],timecampeao[20],timeperdedor[20];
	int i, vit,emp,der,pontos,menor=1000,maior;
	do{
		printf("\nInforme o nome do time %d sem espaço: ",i+1);
		scanf("\n%s",time);						
		printf("Num de vitorias:");
		scanf("\n%d",&vit);
		pontos=vit*3;
		printf("Num de empates:");
		scanf("\n%d",&emp);
		pontos=pontos+emp;
		printf("Num de derrotas:");
		scanf("\n%d",&der);	
		printf("\nPontuacao: %d\n", pontos);
		if(pontos>maior){
			maior=pontos;
		strcpy(timecampeao,time);
		}
		if(pontos<menor){
			menor=pontos;
		strcpy(timeperdedor,time);
		}
		i+=1;
	}while (i<3);	
	
	printf("\nCampeao: %s Pontuacao: %d\n",timecampeao,maior);
	printf("Ultimo Colocado: %s Pontuacao: %d",timeperdedor,menor);	
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!