Ir ao conteúdo
  • Cadastre-se

Imprimir o Maior e o Menor valor


zinhovba

Posts recomendados

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;

}

Link para o comentário
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));

Link para o comentário
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));

Link para o comentário
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;

}

Link para o comentário
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' \@/

Link para o comentário
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]);

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!