Ir ao conteúdo

Posts recomendados

Postado

Olá, desde já agradeço pela ajuda!

 

Bom, tenho o seguinte código: 

#include<stdio.h>

main(){
	int classes,i;
	float fa[i],maior=0;
	
	printf("Classes: ");
	scanf("%d",&classes);
	printf("\n");
	
	for(i=0;i<classes;i++){
		printf("FA: ");
		scanf("%f",&fa[i]);
		
		if(fa[i]>maior){
			maior = fa[i];
		}
	}
	printf("\n%f",maior);
}

gostaria de saber como posso mostrar o número anterior ao maior.

 

por exemplo: 5,15,25,35,40,45,50

Maior = 50

Menor = 45

 

Ex: 

image.png.c55a3daed3577ecfa82d7cd2d0226c18.png

  • Obrigado 1
Postado

@HalfastRC     ali você colocou um vetor   fa com tantas posições que seja o valor de  i   , mas você não sabe qual o valor de   i , pois ele não foi inicializado , então você terá um vetor com indeterminado  número de posições , mas isso não atrapalha em nada no código ,  e depois que você inserir os números no vetor , você pode usar um método  de ordenação de vetor , que pode ser o bubblesort que considero o mais fácil de entender e usar  , e ordenando de forma decrescente , no final você terá o maior número na primeira posição do vetor e na segunda posição o segundo maior valor .   ou sem essa ordenação , você pode colocar uma variável para pegar o número na posição anterior que será informado pela posição no vetor em i-1 , dentro do  if  .

  • Obrigado 1
Postado
28 minutos atrás, devair1010 disse:

@HalfastRC   ou sem essa ordenação , você pode colocar uma variável para pegar o número na posição anterior que será informado pela posição no vetor em i-1 , dentro do  if  .

fiz o seguinte code:

 

#include<stdio.h>

main(){
	int i;
	
	int classe;
	int maior=0,antecessor;
	
	printf("Classe: ");
	scanf("%d",&classe);
	
	int num[classe];
	
	for(i=0;i<classe;i++){
		printf("Num: ");
		scanf("%d",&num[i]);
		
		if(num[i]>maior){
			maior=num[i];
		}
		else{
			antecessor=num[i]-1;
		}
	}
	printf("\nMaior %d",maior);
	printf("\nAntecessor %d",antecessor);
}

mas n deu, ou indica 1 no resultado ou 0

  • Obrigado 1
Postado

@HalfastRC       seu código está bom , e com algumas modificações poderia ser assim  :

#include<stdio.h>
#include<conio.h>
#define Sleep(g) for(f=0;f<g*1000000;f++);
main(){
	int i,f;
	int classe;
	int maior=0,antecessor;
	
	printf("Classe: ");
	scanf("%d",&classe);
	
	int num[classe];
	
	for(i=0;i<classe;i++){
		printf("Num: ");
		scanf("%d",&num[i]);
		
		if(num[i]>maior){
			maior=num[i];
			antecessor=num[i-1];
		}
	}
	printf("\nMaior %d",maior);
	printf("\nAntecessor %d",antecessor);
	Sleep(1000);
}

 

  • Amei 1

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