Senin, 20 Mei 2013

KOMBINASI DAN PERMUTASI DENGAN CLASS


#include <cstdlib>
#include <iostream>

using namespace std;

class madis{
public:
void pilih();
void permutasi();
void kombinasi();
int fak(int n);

private:
int q[100];

};

void madis::pilih(){


int n;
cout<<"\t==PROGRAM YANG PERTAMA.BAYU=="<<endl;
cout<<"\n 1 Permutasi \n\n 2 Kombinasi ";
cout<<"\n\n Pilihan Anda : ";
cin>>n;

if(n==1)permutasi();
if(n==2)kombinasi();
else cout<<"\n\n **** Selesai ***\n\n";
}

void madis::permutasi(){

int n,N,k,K,p;
cout<<"\n Masukkan Nilai n= ";
cin>>n;
cout<<"Masukkan Nilai r= ";
cin>>k;
if(k>n){
cout<<"\n\n Nilai r harus kurang dari n";
permutasi();
}
p=n-k;
N=fak(n);
K=fak(p);

cout<<"\n Maka hasil permutasi= "<<N/K;
cout<<"\n\n";
pilih();

}
void madis::kombinasi(){

int n,N=1,k,K=1,p,P=1;
cout<<"\nMasukkan nilai n=";
cin>>n;
cout<<"Masukkn nilai r=";
cin>>k;
if(k>n){cout<<"\n Nilai r harus kurang dari n";
permutasi();
}
p=n-k;
N=fak(n);
K=fak(k);
cout<<"\n (n-r)!->";
P=fak(p);
cout<<"\n Maka hasil kombinasi = "<<N/(K*P);
cout<<"\n\n";
pilih();
}

int madis::fak(int n){

if(n<=1)return 1;
else return n*fak(n-1);

}

int main(int argc, char *argv[])
{
madis z;
z.pilih();

system("PAUSE");
return EXIT_SUCCESS;
}

Tidak ada komentar:

Posting Komentar