(PROGRAMAÇÃO C++ - DEITEL, PÁG 96, EX. 2.19) Escreva um programa que insere três inteiros a partir do teclado e imprime a soma, a média, o produto, o menor e o maior desses números. O diálogo de tela deve se parecer com o seguinte: Entre com três valores inteiros: 13 27 14 Soma: 54 Média: 18 Produto: 4914 O menor: 13 O maior: 27 Creio ter decifrado, porém quando algum dos números inseridos pelo usuário são iguais, o programa emite a mesma mensagem duas vezes. Segue o código que desenvolvi:
Soluções para a tarefa
Tem um jeito mais facil, se liga:
Para calcular o maior entre os 3 inteiros a formula eh:
maiornum = (n1 + n2 + Math.abs(n1-n2))/2;
depois e so fazer o mesmo pro n3
maiorfinal = (n3 + maiornum + Math.abs(n3 - maiornum))/2;
ai tu descobre o maior.
Para o menor e so tu trocar o sinal antes do Math.abs, ficando assim:
maiornum = (n1 + n2 - Math.abs(n1-n2))/2;
IMPLEMENTANDO NO SEU CODIGO:
int n1, n2, n3;
cout << "insira os tres numeros: \n";
cin >> n1 >> n2 >> n3;
cout << "a soma e: " << n1 + n2 + n3 << "\n";
cout << "A media e: " << (n1 + n2 + n3)/3 << "\n";
cout << "O produto e: " << n1 * n2 * n3 << "\n";
double maior = (n1 + n2 + abs(n1 - n2))/2;
double maiorFinal (n3 + maior + abs(maior - n3))/2;
cout << "O maior e: " << maiorFinal;
double menor = (n1 + n2 - abs(n1 - n2))/2;
double menorFinal (n3 + maior - abs(maior - n3))/2;
cout << "O menor e: " << menorFinal;
E o autor indica que os exercícios sejam executados com as técnicas ensinadas até então.
Mas de qualquer forma, no enunciado não é explicitado que não se aceitam respostas duplicadas.
Toma aqui o coração! Valeu!!