5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n
buah bola yang diambil r bola.
Program CPP :
#include <iostream>
#include <cstdlib>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class matdis{
friend istream& operator>>(istream&, matdis&);
friend ostream& operator<<(ostream&, matdis&);
public:
matdis();
int permutasi();
int kombinasi();
void pilihan();
void exit();
private:
int n,r,x,y,z,a,p,c;
};
matdis::matdis(){cout<<"\t==asupkeun pilihan anjeun anu rek di pilih"<<endl;
cout<<"\t========== 1. PERMUTASI ==========="<<endl;
cout<<"\t========== 2. COMBINASI ==========="<<endl;
cout<<"\t========== 0. EXIT ==========="<<endl;
cout<<"\t========== HATURNUHUN ==========="<<endl;
};
int matdis::permutasi(){
cout<<"Program Menghitung Permutasi"<<endl;
cout<<"Masukkan n harus lebih besar dari r :"<<endl;
cout<<"Masukkan n :"; cin>>n;
cout<<"Masukkan r :"; cin>>r;
x=1;
y=1;
for(int i=1; i<=n; i++){
x=x*i;
}
for(int j=1; j<=(n-r); j++){
y=y*j;
}
p=x/y;
cout<<"Nilai n bola ="<<n<<endl;
cout<<"Nilai r bola ="<<r<<endl;
cout<<"Nilai bola yang di ambil r ="<<x<<endl;
cout<<"Hasil (n-r)! ="<<y<<endl;
cout<<"Hasil bola yang di ambil r "<<"("<<n<<","<<r<<") : "<<p<<endl;
pilihan();
return p;
}
int matdis::kombinasi(){
cout<<"Program Menghitung Kombinasi"<<endl;
cout<<"Masukkan n harus lebih besar dari r :"<<endl;
cout<<"Masukkan n :"; cin>>n;
cout<<"Masukkan r :"; cin>>r;
x=1;
y=1;
z=1;
a=(n-r);
for(int i=1; i<=n; i++){
x=x*i;
}
for(int j=1; j<=r; j++){
y=y*j;
}
for(int k=1; k<=a; k++){
z=z*k;
}
c=x/(z*y);
cout<<"Nilai n bola ="<<n<<endl;
cout<<"Nilai r bola ="<<r<<endl;
cout<<"Nilai n! ="<<x<<endl;
cout<<"Hasil bola yang di ambil r ="<<y<<endl;
cout<<"Nilai (n-r)! ="<<z<<endl;
cout<<"Hasil bola yang di ambil r "<<"("<<n<<","<<r<<") : "<<c<<endl;
pilihan();
return c;
}
void matdis::pilihan(){
int pil;
cout<<endl;
cout<<"masukan pilihan anda = ";
cin>>pil;
switch(pil){
case 1 : permutasi ();break;
case 2 : kombinasi ();break;
case 0 : exit (); break;
default :
cout<<"Maaf anda salah tulis"<<endl;
cout<<"Pilih kembali Pilihan "<<endl;
pilihan();
break;
}}
void matdis::exit(){
cout << "TERIMA KASIH"<<endl;
}
int main(int argc, char** argv) {
matdis x;
x.pilihan();
return 0;
}
RAPTOR:
6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan
biner.
Program CPP :
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
long desimal, pembagi, bit;
pembagi=1073741824;
cout<<"\t\t Program Konversi Bilangan Desimal ke Biner"<<endl<<endl;
cout<<" Masukan bilangan desimal : ";
cin>>desimal;
while(pembagi>desimal)pembagi/=2;
do{
bit=desimal/pembagi;
cout<<bit;
desimal=desimal%pembagi;
pembagi/=2;
}
while(pembagi>=1);
cout<<"\n";
return 0;
}
RAPTOR :
7. Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf.
Misalnya diberikan : abc
output :
abc
bca
bac, dan seterusnya
Program CPP :
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void masuk(char a[50]);
void keluar(char b[50]);
void identitas();
int main()
{
char kata[50];
cout<<"\nPermutasi dari tiga huruf"<<endl;
masuk(kata);
keluar(kata);;
getch();
}
void masuk(char a[50]){
cout<<"\nMasukkan Kata : ";
gets(a);
cout<<endl;
}
void keluar(char b[50]){
cout<<"\nHasil Pembalikkan kata :";
for(int a=strlen(b);a>=0;a--)
{
cout<<b[a];
}
cout<<endl;
}



0 komentar
Posting Komentar