#include < iostream.h >
class rekursif{
private:
int a;
public:
rekursif(){
a=0;
}
void setA(int a){
a=a;
};
int getA(){
return 0;
};
void cetak(int a);
void cetak2(int a);
void fibo(int a,int b,int n);
int fibo2(int a);
int paskal(int i,int j);
int fakt(int a);
void biner(int n);
};
void rekursif::cetak(int a)
{
if(a<1) return;
else
{
cout << a;
cetak(a-1);
}
}
void rekursif::cetak2(int a)
{
if(a<1) return;
else
{
cetak2(a-1);
cout << a;
}
}
void rekursif::fibo(int a,int b,int n)
{
if(n==0) return;
else
{
cout << b;
fibo(b,b+a,n-1);
}
}
int rekursif::fibo2(int a)
{
if(a==1 || a==2) return 1;
return fibo2(a-1)+fibo2(a-2);
}
int rekursif::paskal(int i,int j)
{
if(j==0 || j==i) return 1;
return paskal(i-1,j-1)+paskal(i-1,j);
}
int rekursif::fakt(int a)
{
if(a==0)return 0;
if(a==1)return 1;
return a * fakt(a-1);
}
void rekursif::biner(int n){
if(n<2) cout << n;
else
{
biner(n/2);
cout << n%2;
}
}
void main()
{
int i,j,x;
rekursif obj;
cout << "masukkan angka = ";
cin >> x;
cin.sync(); cin.clear();
obj.setA(x);
cout << endl << "cetak terbalik dari " << x << endl;
obj.cetak(x);
cout << endl << endl << "cetak urut sampai " << x << endl;
obj.cetak2(x);
cout << endl << endl << "deret fibonacci sebanyak " << x << endl;
obj.fibo(0,1,x);
cout << endl << endl << "fibonacci ke- " << x << endl;
cout << obj.fibo2(x);
cout << endl << endl << "segitiga paskal" << x << "baris" << endl;
for(i=0;i
for(j=x-1;j>i;j--)
cout << " ";
for(j=0;j<=i;j++)
cout << obj.paskal(i,j);
cout << endl;
}
cout << endl << endl << "faktorial ke-" << x << endl;
cout << obj.fakt(x);
cout << endl << endl << "cetak faktorial sebanyak " << x << endl;
for(i=1;i<=x;i++)
{
cout << obj.fakt(i);
}
cout << endl << endl << "bilangan biner dari" << endl;
obj.biner(x);
cin.get();
cin.get();
}
Codingan rekursif
Sabtu, 19 Desember 2009
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar