St0rM 0 Denunciar post Postado Setembro 6, 2010 Olá, por incrível que pareça eu não estou conseguindo determinar quem é o vencedor com a maior pontuação (total de 7 jogadores) em linguagem C, sem usar vetores, funções e coisas do tipo. Parece ser algo bem simples, mas até agora não veio nada em mente. Pensei em usar o if, mas aí teria que usar um para cada um, ficaria um negócio gigante, e pelo jeito realmente não deve ser da forma que estava pensando. :P Exemplo: Tabela de jogadores printf("Jogador 1) V: %3d E: %3d D: %3d P: %3d\n", vit1, emp1, der1, 3*vit1 + emp1); printf("Jogador 2) V: %3d E: %3d D: %3d P: %3d\n", vit2, emp2, der2, 3*vit2 + emp2); printf("Jogador 3) V: %3d E: %3d D: %3d P: %3d\n", vit3, emp3, der3, 3*vit3 + emp3); printf("Jogador 4) V: %3d E: %3d D: %3d P: %3d\n", vit4, emp4, der4, 3*vit4 + emp4); printf("Jogador 5) V: %3d E: %3d D: %3d P: %3d\n", vit5, emp5, der5, 3*vit5 + emp5); printf("Jogador 6) V: %3d E: %3d D: %3d P: %3d\n", vit6, emp6, der6, 3*vit6 + emp6); printf("Jogador 7) V: %3d E: %3d D: %3d P: %3d\n", vit7, emp7, der7, 3*vit7 + emp7); O(s) vencedor(es) deve(m) aparecer: Jogador X) V: YYY E: ZZZ D: WWW P: KKK === VENCEDOR === Grato pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Acacio 0 Denunciar post Postado Setembro 7, 2010 Rapaz, o código acima parece meio embaraçado e incompleto, mas entendi o que você quer. Acho difícil não usar vetores, funções e controles de fluxo (if, for, while ou switch). tente usar pelo menos if's, as vezes o que parece ser simples é muito complicado, é tipo querer ir ao super-mercado sozinho sem ter braços e pernas. Se você mudar de ideia estou a disposição pra resolver. Compartilhar este post Link para o post Compartilhar em outros sites
Ecos 0 Denunciar post Postado Setembro 7, 2010 é tipo querer ir ao super-mercado sozinho sem ter braços e pernas. NOSSA CEM HORA! =\ Compartilhar este post Link para o post Compartilhar em outros sites
St0rM 0 Denunciar post Postado Setembro 7, 2010 Rapaz, o código acima parece meio embaraçado e incompleto, mas entendi o que você quer. Acho difícil não usar vetores, funções e controles de fluxo (if, for, while ou switch). tente usar pelo menos if's, as vezes o que parece ser simples é muito complicado, é tipo querer ir ao super-mercado sozinho sem ter braços e pernas. Se você mudar de ideia estou a disposição pra resolver. Não, pode usar if, for, while ou switch sim. A única limitação é não poder usar vetores, justamente para praticar as estruturas condicionais.O resultado que eu cheguei foi o seguinte: /* tabela de pontuação dos jogadores */ p1 = 3*vit1 + emp1; p2 = 3*vit2 + emp2; p3 = 3*vit3 + emp3; p4 = 3*vit4 + emp4; p5 = 3*vit5 + emp5; p6 = 3*vit6 + emp6; p7 = 3*vit7 + emp7; if (p1 >= p2 && p1 >= p3 && p1 >= p4 && p1 >= p5 && p1 >= p6 && p1 >= p7) maior = p1; if (p2 >= p1 && p2 >= p3 && p2 >= p4 && p2 >= p5 && p2 >= p6 && p2 >= p7) maior = p2; if (p3 >= p2 && p3 >= p1 && p3 >= p4 && p3 >= p5 && p3 >= p6 && p3 >= p7) maior = p3; if (p4 >= p2 && p4 >= p3 && p4 >= p1 && p4 >= p5 && p4 >= p6 && p4 >= p7) maior = p4; if (p5 >= p2 && p5 >= p3 && p5 >= p4 && p5 >= p1 && p5 >= p6 && p5 >= p7) maior = p5; if (p6 >= p2 && p6 >= p3 && p6 >= p4 && p6 >= p5 && p6 >= p1 && p6 >= p7) maior = p6; if (p7 >= p2 && p7 >= p3 && p7 >= p4 && p7 >= p5 && p7 >= p6 && p7 >= p1) maior = p7; printf("Jogador 1) V: %3d E: %3d D: %3d P: %3d", vit1, emp1, der1, 3*vit1 + emp1); if (maior == p1) printf(" === VENCEDOR ===\n"); else printf("\n"); printf("Jogador 2) V: %3d E: %3d D: %3d P: %3d", vit2, emp2, der2, 3*vit2 + emp2); if (maior == p2) printf(" === VENCEDOR ===\n"); else printf("\n"); printf("Jogador 3) V: %3d E: %3d D: %3d P: %3d", vit3, emp3, der3, 3*vit3 + emp3); if (maior == p3) printf(" === VENCEDOR ===\n"); else printf("\n"); printf("Jogador 4) V: %3d E: %3d D: %3d P: %3d", vit4, emp4, der4, 3*vit4 + emp4); if (maior == p4) printf(" === VENCEDOR ===\n"); else printf("\n"); printf("Jogador 5) V: %3d E: %3d D: %3d P: %3d", vit5, emp5, der5, 3*vit5 + emp5); if (maior == p5) printf(" === VENCEDOR ===\n"); else printf("\n"); printf("Jogador 6) V: %3d E: %3d D: %3d P: %3d", vit6, emp6, der6, 3*vit6 + emp6); if (maior == p6) printf(" === VENCEDOR ===\n"); else printf("\n"); printf("Jogador 7) V: %3d E: %3d D: %3d P: %3d", vit7, emp7, der7, 3*vit7 + emp7); if (maior == p7) printf(" === VENCEDOR ===\n"); else printf("\n");Aparentemente o código está funcionando, dando resultados corretos. Mas não parece ser a melhor forma, ou a mais otimizada, se é que me entende.Gostaria de saber se tem alguma maneira mais simples/compacta. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 8, 2010 Se não pode usar vetor o código vai ficar grande msm. Sei lá, pode usar estrutura de dados? []s Compartilhar este post Link para o post Compartilhar em outros sites