Advertisement
weldisalves

Lista 04 - exercício 14

Jun 22nd, 2013
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAX 10
  3. #define QUANT 100
  4. #define LIMITESUP 25
  5. #define LIMITEINF 20
  6.  
  7. /* 14. Faça um algoritmo configurável para calcular a distribuição de frequência de valores sorteados.
  8. Por exemplo, suponha a faixa de 20 a 25 para os números sorteados e uma quantidade de 10, então se os
  9. números sorteados forem 20, 24, 25, 23, 24, 25, 23, 23, 21,25 o resultado do programa deverá ser:
  10. Distribuição de 10 números sorteados de 20 a 25:
  11. Número 20: 1 vez (10%)
  12. Número 21: 1 vez (10%)
  13. Numero 22: zero vezes (0%)
  14. Número 23: 2 vezes (20%)
  15. Número 24: 2 vezes (20%)
  16. Número 25: 4 vezes (40%)
  17. Em seguida exiba a distribuição de frequência ordenada:
  18. Distribuição de 10 números sorteados de 20 a 25 (em ordem decrescente):
  19. Número 25: 4 vezes (40%)
  20. Número 23: 2 vezes (20%)
  21. Número 24: 2 vezes (20%)
  22. Número 20: 1 vez (10%)
  23. Número 21: 1 vez (10%)
  24. Numero 22: zero vezes (0%) */
  25.  
  26. int main()
  27. {
  28.     srand(time(NULL));
  29.  
  30.     int contador[6]={0},i,sorteados[6]={20,21,22,23,24,25},aux,j;
  31.  
  32.     for(i=0;i<QUANT;i++)
  33.     {
  34.         contador[((rand()%(LIMITESUP-LIMITEINF+1))+LIMITEINF)-LIMITEINF]++;
  35.     }
  36.  
  37.     printf("\n Distribuicao de 10 numeros sorteados de 20 a 25:\n");
  38.     for(i=0;i<6;i++)
  39.     {
  40.         printf("\n Numero %d: %d vezes ",20+i,contador[i]);
  41.     }
  42.  
  43.     for(i=0;i<6;i++)
  44.     {
  45.         for(j=0;j<5;j++)
  46.         {
  47.             if(contador[j]<contador[j+1])
  48.             {
  49.                 aux=contador[j];
  50.                 contador[j]=contador[j+1];
  51.                 contador[j+1]=aux;
  52.  
  53.                 aux=sorteados[j];
  54.                 sorteados[j]=sorteados[j+1];
  55.                 sorteados[j+1]=aux;
  56.             }
  57.         }
  58.     }
  59.  
  60.     printf("\n Distribuicao de 10 numeros sorteados de 20 a 25 (em ordem decrescente):\n");
  61.  
  62.     for(i=0;i<6;i++)
  63.     {
  64.         printf("\n Numero %d : %d vezes",sorteados[i],contador[i]);
  65.     }
  66.  
  67.     getchar();
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement