Selasa, 19 Mei 2015

KOMBINASI DAN PERMUTASI

arieuad@gmail.com
#include <cstdlib>
#include <iostream>

using namespace std;
int fak(int nilai)
{
int hasil = nilai;
while (nilai>1)
{
hasil = hasil * (nilai-1);
nilai = nilai -1;
}
return hasil;
}

class Madis{ //deklarasi kelas
      public:
             void pilih(); //pendeklarasian fungsi pilihan
             void permutasi(); //pendeklarasian fungsi permutasi
             void kombinasi(); //pendeklarasian fungsi kombinasi
      private:
              int q[100];
};
void Madis::pilih(){
    int n;
   
    cout<<"\n1. Permutasi\n2. kombinasi";
    cout<<"\n\npilihan anda : ";
    cin>>n;
    switch(n)
    {
    case 1:(n==1);permutasi();
    break;
    case 2:(n==2);kombinasi();
    break;
    case 3 :cout<<"\n\n***selesai***\n\n";
    break;
}}

void Madis::permutasi(){
// system("cls");
    int n,N,k,K,p;
    cout<<"\nMasukkan nilai n=";cin>>n;
    cout<<"Masukkan nilai r=";cin>>k;
    if(k>n){cout<<"\nNilai r harus kutang dari [1] n";permutasi();}
    p=n-k;
    N=fak(n);K=fak(p);
    cout<<"\nMaka hasil permutasi : "<<N/K;
    cout<<"\n\n";pilih();
}
void Madis::kombinasi(){
// system("cls");
    int n,N=1,k,K=1,p,P=1;
    cout<<"\nMasukkan nilai n=";cin>>n;
    cout<<"Masukkan nilai r=";cin>>k;
    if(k>n){cout<<"\nNilai r harus kutang dari [2] n";permutasi();}
    p=n-k;N=fak(n);K=fak(k);cout<<"\n(n-r)!-> ";P=fak(p);
    cout<<"\nMaka hasil kombinasi : "<<N/(K*P);
    cout<<"\n\n";pilih();
}
int main(int argc, char *argv[]) //fungsi main
{
Madis z;
z.pilih();
system("PAUSE");
return EXIT_SUCCESS;
}

Tidak ada komentar:

Posting Komentar