Algoritma dan Program Kombinasi dan Permutasi

#include <IOSTREAM.H>
#include <conio.h>

class reza1{
 protected:
   int f1;
 public:
   void faktorial_1(){
       cout<<"Jumlah Objek (r) : ";
       cin >> f1; }};
      
class reza2{
 protected:
   int f2;
 public:
   void faktorial_2 () {
       cout<<"Jumlah Objek (n) : ";
       cin >> f2;}};
      
class hitung:public reza1, public reza2{
 protected:
   int fak1, fak2, fak3, i;
 public:
   void faktorial(){
       fak1 = 1;
       fak2 = 1;
       fak3 = 1;
       for (i=1; i<=f1; i++)
       fak1= fak1 * i;
      
       for (i=1; i<=f2; i++)
       fak2= fak2 * i;
      
       for (i=1; i<=f2-f1; i++)
          fak3 = fak3 * i;  }
         
   int permutasi(){
        return(fak2/fak3);}
       
   int kombinasi(){
        return (fak2/(fak1*fak3));} };
       
class cetak:public hitung{
 public:
   void cetak_permutasi(){
       cout<<"Hasil Permutasi : "<< permutasi()<<endl;}
      
   void cetak_kombinasi(){
       cout<<"Hasil Kombinasi : "<< kombinasi()<< endl;}  };
      
int main(){
   cetak tulis; char pil;
  
   cout << "\tLukman Reza 148\n";
   cout << "1. Cari Permutasi\n";
   cout << "2. Cari Kombinasi\n\n";
  
   cout<<"Mau Yang Mana : "; cin>>pil;
   if (pil=='1') {
       cout<<"\n\n\tPermutasi\n";
       tulis.faktorial_1();
       tulis.faktorial_2();
       tulis.faktorial();
       tulis.permutasi();
       tulis.cetak_permutasi();   }
      
   else if (pil=='2') {
       cout<<"\n\n\tKombinasi\n";
       tulis.faktorial_1();
       tulis.faktorial_2();
       tulis.faktorial();
       tulis.kombinasi();
       tulis.cetak_kombinasi();   }
            
   else
        cout<<"\nPilihan Salah Mba'!!!"<<endl;
   getch();
   return 0;
}
===========
Penjelasannya:
Intinya adalah menggabungkan permutasi dan kombinasi. Thanks. Ok......

Posting Komentar

0 Komentar