Selamat Datang Di Blogg Saya

Minggu, 15 April 2012

Rekursi

Rekursi merupakan teknik pemrograman yang menyebabkan suatu fungsi/prosedur memanggil dirinya sendiri. Pemanggilan diri sendiri ini berlangsung terus menerus sampai batas terkecil yang nilai dari fungsi tersebut disebutkan secara eksplisit.
contoh:

#include <iostream>
#include <string>

using namespace std;


class pangkat{
      friend ostream& operator<<(ostream&, pangkat&);
      friend istream& operator>>(istream&, pangkat&);
      public:
             pangkat(){};
             void hasil(int b);
             int hasil1();
      private:
              float a,h;
              int p,i;
};
istream& operator>>(istream& in,pangkat& masuk){
         cout<<"Masukkan Angka yang ingin di pangkatkan = ";
         in>>masuk.a;
         cout<<"\nMasukkan Pangkat : ";
         in>>masuk.p;masuk.h=1;
         
         return in;
         }
ostream& operator<<(ostream& out,pangkat& keluar){
         cout<<"hasil dari "<<keluar.a<<" pangkat "<<keluar.p<<" = "<<keluar.h;
         cout<<endl;
         return out;
         }
void pangkat::hasil(int b){
     
     if(b<p){
                       h=h*a;
                       hasil(b+1);
                       }
     else {cout<<h<<endl<<endl;}
     }
int pangkat::hasil1(){
     hasil(0);
    return 0; 
     }

int main()
{
    pangkat x;
    cin>>x;
    x.hasil1();
    cout<<x;
system("pause");
return 0;
}

3 komentar: