Advertisement
Ot_Motta

EX01_P2_ALG

Nov 13th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define tam 23
  4.  
  5. //PROTOTIPO DA FUNCAO QUE CALCULA O PERCENTUAL
  6. void calcular_percentual(float vet_pctgs[tam], int n, int total_votos)
  7. {
  8.     int i;
  9.     for (i = 0; i <= n; i++)
  10.     {
  11.         vet_pctgs[i] = vet_pctgs[i] / total_votos * 100.0;
  12.     }
  13. }
  14.  
  15. int main()
  16. {
  17.     //CRIAR VARS
  18.     int n_jogador = 0;
  19.     int n = 0;
  20.     int vet_votos[tam];
  21.     int vet_aux[tam];
  22.     float vet_pctgs[tam];
  23.     int vet_jogadores[tam][2];
  24.     int i = 0, j = 0, k = 0;
  25.     int total_votos = 0;
  26.     int sair = 1;
  27.     int aux = 0;
  28.     int repet_func = 0;
  29.     int cont = 0;
  30.     //INICIALIZANDO OS VETORES
  31.     for(i=0; i<tam; i++)
  32.     {
  33.         vet_votos[i]        = 0;
  34.         vet_aux[i]          = 0;
  35.         vet_pctgs[i]        = 0;
  36.         vet_jogadores[0][i] = 0;
  37.         vet_jogadores[1][i] = 0;
  38.     }
  39.     //LAÇO PRINCIPAL
  40.     do
  41.     {
  42.         system("cls");
  43.  
  44.         //PROCESSAR OS DADOS
  45.         printf("\n=======ENQUETE DO BRASILEIRAO 2019=======\n");
  46.         for(i=0; i<tam; i++)
  47.         {
  48.             printf("\nINFORME O NUMERO DO JOGADOR (0 = FIM): ");
  49.             fflush(stdin);
  50.             scanf("%d", &vet_votos[i]);
  51.             //VALIDAR CORRETIVAMENTE
  52.             while(vet_votos[i] < 0 || vet_votos[i] > 23)
  53.             {
  54.                 printf("\nINFORME UM VALOR ENTRE 1 E 23, OU 0 (ZERO) PARA SAIR: ");
  55.                 fflush(stdin);
  56.                 scanf("%d", &vet_votos[i]);
  57.             }
  58.             //MAIS UM VOTO COMPUTADO
  59.             if(vet_votos[i] != 0)
  60.                 total_votos++;
  61.             //PROCESSAR A SAIDA DO PROGRAMA
  62.             if(vet_votos[i] == 0)
  63.             {
  64.                 sair = vet_votos[i];
  65.                 break;
  66.             }
  67.         }
  68.         //ORDENANDO O VETOR PARA FACILITAR A BUSCA
  69.         for(i=0; i<tam; i++)
  70.         {
  71.             for(j=i+1; j<tam; j++)
  72.             {
  73.                 if(vet_votos[i] > vet_votos[j])
  74.                 {
  75.                     aux = vet_votos[i];
  76.                     vet_votos[i] = vet_votos[j];
  77.                     vet_votos[j] = aux;
  78.                 }
  79.             }
  80.         }
  81.         //PROCESSAR A MOSTRAGEM
  82.         system("cls");
  83.         printf("\n--------RESULTADO DA ENQUETE-------\n");
  84.         printf("\nFORAM COMPUTADOS %d VOTOS...\n\n", total_votos);
  85.         //BUSCANDO OS VOTOS
  86.         k = -1;
  87.         for (i = 0; i < tam; i++)
  88.         {
  89.             if (vet_votos[i] != 0)
  90.             {
  91.                 if (vet_votos[i] != vet_votos[i-1])
  92.                 {
  93.                     cont = 1;
  94.                     k++;
  95.                     vet_jogadores[k][0] = vet_votos[i];
  96.                 }
  97.                 else
  98.                 {
  99.                     cont++;
  100.                 }
  101.                 vet_jogadores[k][1] = cont;
  102.                 vet_pctgs[k] = cont;
  103.             }
  104.         }
  105.         n = k;
  106.         //CHAMADA DA FUNÇÃO QUE CALCULARÁ A PORCENTAGEM
  107.         calcular_percentual(vet_pctgs, n, total_votos);
  108.         //LAÇO QUE MOSTRA OS DADOS DA ENQUETE
  109.         if(total_votos != 0)
  110.         {
  111.             printf("\nJOGADOR     VOTOS       %%\n\n");
  112.             for (i = 0; i <= n; i++)
  113.             {
  114.                 printf("%4d %10d %10.2f%%\n", vet_jogadores[i][0], vet_jogadores[i][1], vet_pctgs[i]);
  115.             }
  116.             printf("\nO MELHOR JOGADOR FOI O %d, com %d VOTOS, CORRESPONDENDO A %.2f%% DO TOTAL DE VOTOS\n", vet_jogadores[0][0], vet_jogadores[0][1], vet_pctgs[0]);
  117.         }
  118.  
  119.         if(sair != 0)
  120.         {
  121.             getch();
  122.             printf("\n\nFIM DO PROGRAMA...\n\n");
  123.         }
  124.  
  125.     }while(sair != 0);
  126.  
  127.  
  128.     return 0;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement