Ir ao conteúdo
  • Cadastre-se
zinhovba

Imprimir o Maior e o Menor valor

Recommended Posts

Boa tarde!!!

Como eu posso, imprimir o maior e o menor valor digitado pelo usuário (dentro de um vetor)??:confused:

#include<stdio.h>
#define NUMEROS 10 //defineo vetor com índices
float calculaMaximo(int n,float v[]){
int i;
float vmax = v [0];

for (i = 1; i < n; i++){
if (v[i]>vmax){
vmax = v [i];
}
}
return vmax;
}

float calculaMinimo(int n,float v[]){
int i;
float vmin = v [0];

for (i = 1; i < n; i++){
if (v[i] < vmin){
vmin = v [i];
}
}
return vmin;
}

int main (void) {
float maximo[NUMEROS];
float minimo[NUMEROS];
int i;
//* leitura dos dados via teclado para armazenar no vetor

for(i = 0; i < NUMEROS; i++) {
printf("Entre com o numero %d: ", i+1);
scanf("%f", &maximo[i], &minimo[i]);
}
printf("O maior valor é: %.0f\n", calculaMaximo(NUMEROS, maximo));
printf("O menor valor é: %.0f\n",calculaMinimo(NUMEROS, minimo));
return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde!!

Eu estou boiando, sou iniciante em C, você pode demonstrar, em código o que quer diz, por favor?

Eu estou sem entender...:confused:

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Substitui os dois vetores


float maximo[NUMEROS];
float minimo[NUMEROS];

Por apenas um, por exemplo:


float v[NUMEROS];

Altera também a linha onde os números são lidos:


scanf("%f", &v[i]);

E a linha onde você chama as funções:


printf("O maior valor é: %.0f\n", calculaMaximo(NUMEROS, v));
printf("O menor valor é: %.0f\n",calculaMinimo(NUMEROS, v));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra forma seria criando uma função apenas.

float mm(float *vetor, int op){

int i;

float m;

m = vetor[0];

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

if(op){

if(vetor > m){

m = vetor;

}

}else{

if(vetor < m){

m = vetor;

}

}

}

return m;

}

...

printf("\nMaior = %.2f", mm(v, 1));

printf("\nMenor = %.2f\n", mm(v, 0));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!!

Olá olliver.soul, como adaptar ao meu código (main), pois está dando erro.

exerc3maxmin.c: Na função ‘mm’:

exerc3maxmin.c:32:16: erro: ‘MAX’ undeclared (first use in this function)

exerc3maxmin.c:32:16: nota: each undeclared identifier is reported only once for each function it appears in

exerc3maxmin.c: Na função ‘main’:

exerc3maxmin.c:55:30: erro: ‘v’ undeclared (first use in this function)

exerc3maxmin.c:55:29: erro: called object ‘mm’ is not a function

exerc3maxmin.c:56:31: erro: called object ‘mm’ is not a function

eu tentei

#include<stdio.h>
#define NUMEROS 10 //defineo vetor com índices

float mm(float *vetor, int op){
int i;
float m;

m = vetor[0];

for(i = 0; i < MAX; i++){
if(op){
if(vetor[i] > m){
m = vetor[i];
}
}else{
if(vetor[i] < m){
m = vetor[i];
}
}
}
return m;
}

int main (void) {
float mm[NUMEROS];
int i;
//* leitura dos dados via teclado para armazenar no vetor

for(i = 0; i < NUMEROS; i++) {
printf("Entre com o numero %d: ", i+1);
scanf("%f", &mm[i]);
}
printf("\nMaior = %.2f", mm(v, 1));
printf("\nMenor = %.2f\n", mm(v, 0));
return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites
exerc3maxmin.c:32:16: erro: ‘MAX’ undeclared (first use in this function)

Onde você declarou MAX ? :mellow:

exerc3maxmin.c:55:29: erro: called object ‘mm’ is not a function

O nome da sua função é igual o da sua variavel =P

exerc3maxmin.c:55:30: erro: ‘v’ undeclared (first use in this function)

Você passa 'v' como parâmetro para função 'mm'. Mas onde você declarou o vetor 'v' \@/

Compartilhar este post


Link para o post
Compartilhar em outros sites

MAX é a definição para o número 10.

Substitua MAX por NUMEROS.

E você está fazendo confusão entre uma função e uma variável.

mm é uma função que recebe 2 parâmetros. Portanto os trechos abaixo, do seu código, não fazem sentido:


float mm[NUMEROS];
scanf("%f", &mm[i]);

Declare um vetor para armazenar os valores.


float v[NUMEROS];
scanf("%f", &v[i]);

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

×