Ir para conteúdo
Fórum Script Brasil
  • 0

Imprimir o maior e o menor valor - Linguagem C


Bruno Pacheco

Pergunta

Meu programa está recebendo tres valores e na hora de imprimir ele não exibe o maior e o menor e sim uns números estranhos. O que posso fazer para que o meu código compile normal?

/*  Construir  uma  função  que  receba  três  valores,  a,  b ,  c. E retornar  (passagem  por  referência)  o 
MAIOR e o MENOR valor desses três. Deve ser criado um módulo principal “main()” para ler os três valores e imprimir o maior e o menor valor computado. */

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

int maior_menor(int d,int e,int f,int n, int maior, int menor);
int main(){
    int a,b,c,ma,me,i=3;

    printf("A: \n");
    scanf("%d",&a);

    printf("B: \n");
    scanf("%d",&b);

    printf("C: \n");
    scanf("%d",&c);
    maior_menor(a,b,c,i,ma,me);

    printf("O maior numero é: %d\n",ma);
    printf("O menor numero é: %d\n",me);
system("Pause");
}

int maior_menor(int d,int e, int f,int n,int maior,int menor ){
    int vet[3];
maior=-2000;
menor=2000;
vet[0]=d;
vet[1]=e;
vet[2]=f;


   if (n)
      maior_menor(d,e,f,n-1,maior,menor);
   else{
         
       if (vet[n]>maior){
           maior=vet[n];
           return maior; 
       }
       else if (vet[n]<menor){
           menor=vet[n];
           return menor;
       }         
   }                  
}

Editado por Bruno Pacheco
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Fiz assim, vê se fecha:

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

int main()

{
int a,b,c,maior,menor;

printf("A: \t");
scanf("%d", &a);

printf ("B: \t");
scanf("%d", &b);
if(b > a) {
    maior=b;
} else {
    maior=a;
}

printf ("C: \t");
scanf("%d", &c);
if(c > maior) {
    if(maior = a) {
        menor = b;
        maior = c;
    } else {
    menor = a;
    maior = c;
}
} else {
if (c > b) {
    menor = b;
} else {
    menor = c;
}
}
printf("O maior número entre A, B e C é: %d e o menor é: %d",maior,menor);
system("Pause");

}

Editado por raphaa
Link para o comentário
Compartilhar em outros sites

  • 0

Para mudar o valor das variaveis maior e menor do main na função maior_menor você coloca na definição da função o &:

int maior_menor(int d, int e, int f, int n, int &maior, int &menor )
{
   ...
}

O restante deixa como tá e compila. Se aparecer outro erro você posta aqui. Abraço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...