• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bwolf

[C++] Ajuda: Elaborar uma funcção que devolve o maior valor de 2 argumentos

16 mensagens neste tópico

n sei como fazer a funçao MAIOR.

lol

como devem kalkular n percebo nada de funçoes :).

por isso ajudem -me.

abraço.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para a proxima poe na seccao de c++, poupas trabalho aos moderadores...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei c++ mas podias subtrair os numeros e ver se o resultado é maior que zero.

Por ex:

c = a - b

Se c>0, então a > b

Se c<0, então b>a

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

main()
{
int a=0;
int b=0;

scanf("%d\n",&a);
scanf("%d\n",&b);

if(a>b){
   printf("a maior que b");
}
else{
   if(a<b){
      printf("a menor que b");
   }
   else{
      printf("sao iguais");
   }
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Benvindo ao fórum bwolf

Da próxima tens de ser mais explícito na tua dúvida, vejo aqui vários post desnecessários só para os leitores compreenderem a tua dúvida.

Uma função que devolve o maior valor é simples de fazer e se conheceres a instrução:

<condição>?<se verdadeira>:<se falsa>

Ainda mais simples se torna ficando tudo numa instrução só:

int int_maior( int x, int y)
{
    return (x>y) ? x : y;
}

Cumpr. bk@ero  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

visto que estamos em C++, fica aqui outra sugestão com templates

template <typename T>
T maior(T x,T y)
{
  return (x>y)?x:y;
}

desta forma temos uma função que serve para qualquer tipo de dados (desde que tenha o operador '>' definido).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Rui Carlos e brink@ero, e se forem iguais? Não há uma forma de fazer como vós fizeste no caso dos dois números serem iguais?

PS: Eu dei aquela resposta mas percebo pouco de C++, mas como tudo o que é C se pode meter em C++ decidi postar... :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Rui Carlos e brink@ero, e se forem iguais? Não há uma forma de fazer como vós fizeste no caso dos dois números serem iguais?

PS: Eu dei aquela resposta mas percebo pouco de C++, mas como tudo o que é C se pode meter em C++ decidi postar... :)

não percebi muito bem a tua questão...

se os números forem iguais a função devolve o y (pois x não é maior do que y), o que está correcto visto que o x é igual ao y.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Rui Carlos e brink@ero, e se forem iguais? Não há uma forma de fazer como vós fizeste no caso dos dois números serem iguais?

PS: Eu dei aquela resposta mas percebo pouco de C++, mas como tudo o que é C se pode meter em C++ decidi postar... :)

Por acaso já passou isso pela cabeça quando precisei de fazer a função á uns tempos atras :P.

O que interessa é devolver o maior valor! Se são iguais devolve um deles, não interessa qual, porque são ambos os maiores :thumbsup:.

Para verificar se são iguais ou não cria-se outra com esse funcionalidade.

Em quase todas as linguagens de programação tem esta instrução "maior" e ao colocares valores iguais, ela devolve o mesmo, pois é esta a sua funcionalidade!

Se não seria mais do tipo "maior-se-difente" ou algo parecido.

Cumpr. bk@ero  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ai Rodrigo ai Rodrigo...

és um tanso pá!

Segunda feira vou te dar um valente caldo, nem uma função sabes fazer! :mad:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora