Problema Analise Combinatoria

De IFSC
Revisão de 15h20min de 22 de junho de 2017 por imported>Fargoud
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar
/*****    Programa que calcula o fatorial, arranjo    *******/
/*********   e combinação      *****************************/
#include <stdio.h>
#include <conio.h>
double fatorial(int numero)
{ int j;
  double fat=1;
  if(numero== 0 || numero == 1)
           return fat;
       else
       {    j = numero;
            while(j)
            {   fat  *=  j;
                  j--;
             }
             return fat;
       }
 }
void main(void)
{int n, p;
 char opcao = 'f';
 printf("*** Programa de Analise Combinatoria ***\n\n");
 for(;opcao != 's' && opcao != 'S';)
 { printf("\n\nEscolha 'f' para fatorial; 'a' para arranjo; 'c' para combinacao e 's', para sair :>    ");
   opcao = getche();
   switch(opcao)
   {
    case 'f':
    case 'F': printf("\nEntre com o valor de n para calculo do fatorial :> ");
              scanf("%d", &n);
              printf("\n\nO FATORIAL de %d \202: %.2f ", n, fatorial(n));
              break;
    case 'a':
    case 'A': printf("\nEntre com os valores de n  e p para calculo do arranjo :> ");
              scanf("%d %d", &n, &p);
              printf("\n\nO ARRANJO de %d tomados %d a  %d  \202: %.2f ", n, p, p, fatorial(n)/fatorial(n-p));
              break;
    case 'c':
    case 'C':  printf("\nEntre com os valores de n e p para calculo da combinacao :> ");
               scanf("%d %d", &n, &p);
               printf("\n\nA COMBINACAO de %d tomados %d a %d \202: %.2f ", n, p, p, fatorial(n)/(fatorial(p)*fatorial(n-p)) );
               break;
    case 's':
    case 'S':
               printf("\nSaindo....\n\n");
               break;
         } //fim switch
     } //fim for
 }  //fim main