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

Algoritmo para verificar quem é campeão, vice e terceiro. Ajuda no alg


deathcon4

Pergunta

O códigoestáem C++.
Minha dúvida é como faço para verificar quem ficou como vice e terceiro colocado no algoritmo abaixo. Para ver quem é o campeão eu consegui fazer, verificando o total de medalhas que cada país teve. Cada medalha tem um peso, ouro tem peso 3, prata tem peso 2 e bronze peso 1.
Verifiquei quem pode ser campeão. Uma das idéias que tive foi criar uma constante e prender esta variável relacionada a quem foi campeão, para calcular quem foi o vice e também prender a variável com o valor de quem foi vice para o que sobrasse seria o terceiro colocado.
Mas não estou tendo ideia de como calcular quem foi vice e quem ficou em terceiro lugar.
Agradeço pela ajuda.
#include <iostream>
#include <cstdlib>
//#include "../cygwin/usr/i686-pc-mingw32/sys-root/mingw/include/tchar.h"
//#include "../cygwin/usr/i686-pc-mingw32/sys-root/mingw/include/locale"
#include "locale.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char *argv[])
{
//_tsetlocale(LC_ALL, _T("portuguese_brazil"));
setlocale(LC_ALL, "");
char ch;
float mo1,mp1,mb1,mo2,mp2,mb2,mo3,mp3,mb3,ptot1,ptot2,ptot3;
//const float pmnm;
ch = 0;
string pais1, pais2, pais3;
cout << "Entre com o primeiro país.\n";
cin >> pais1;
cout << "Entre com o número de medalhas.\n";
cout << "Medalhas de ouro, prata e bronze respectivamente.\n";
cin >> mo1 >> mp1 >> mb1;
mo1 = (3*mo1) + 1;
mp1 = (2*mp1) + 1;
mb1 = mb1 + 1;
ptot1 = mo1 + mp1 + mb1;
cout << "Entre com o nome do segundo país.\n";
cin >> pais2;
cout << "Entre com o nº de medalhas para o segundo país.\n";
cout << "Entre medalhas de ouro, prata e bronze respectivamente.\n";
cin >> mo2 >> mp2 >> mb2;
mo2 = (3*mo2) + 1;
mp2 = (2*mp2) + 1;
mb2 = mb2 + 1;
ptot2 = mo2 + mp2 + mb2;
cout << "Entre com o nome do terceiro país,\n";
cin >> pais3;
cout << "Entre com o nº de medalhas para o terceiro país.\n";
cout << "Entre medalhas de ouro, prata e bronze respectivamente.\n";
cin >> mo3 >> mp3 >> mb3;
mo3 = (3*mo3) + 1;
mp3 = (2*mp3) + 1;
mb3 = mb3 + 1;
ptot3 = mo3 + mp3 + mb3;
while (ch != -1)
{
if ((ptot1 > ptot2) && (ptot1 > ptot3))
{
cout << "O " << pais1 << " é o campeão.\n";
//pmnm = ptot1;
}
else if ((ptot2 > ptot1) && (ptot2 > ptot3))
{
cout << "O " << pais2 << " é o campeão.\n";
//pmnm = ptot2;
}
else cout << "O " << pais3 << " é o campeão.\n";
//pmnm = ptot3;
if ((ptot3 > ptot1) && (ptot3 > ptot2))
cout << "O " << pais3 << " é o vice_campeão.\n";
cout << "Para sair digite -1\n.";
cin >> ch;
if (ch == -1)
cout << "Deseja sair, digite -1.\n" << endl;
break;
}
//system ("PAUSE");
//return EXIT_SUCCESS;
}
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
×
×
  • Criar Novo...