-Black Inspiration- -Telor-ceplox- -PROFIL- -Facebook- -Twitter- "* ikhsan_choco@ymail.com "*
Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!!----Stop Dreaming and Start Action Now...!! Jangan lupa kasih komentar demi kemajuan blog ini...!!!

15 Okt 2011

Class dan Rekursi c++

#Rekrusif adalah fungsi yang melakukan proses perulangan dengan cara memanggil dirinya sendiri.
#berbeda dengan versi iteratif yang menggunakan perulangan for, while maupun do while.
#Fungsi rekursif dapat dipandang sebagai sebuah “operator”.

*Ciri fungsi rekursif*
#Kasus penyetop. Dalam kasus ini terdapat nilai konstan (return value)
#Kasus pemanggilan rekursif. Dalam kasus ini terdapat pemanggilan fungsi itu sendiri, tetapi harus mengarah kepada kasus penyetop.
Ciri perulangan
-Kapan mulai
-Kapan berhenti
-Berapa kali diulang

contoh program :

#include

class Deret {
friend istream& operator>>(istream&, Deret&);
friend ostream& operator<<(ostream&, Deret&);
public:
long hitung(int);
void cetak(int);
private:
int suku_n;
long hasil;

};

long Deret::hitung(int n) {
if (n==1) return 1;
else return n+hitung(n-1);
}

void Deret::cetak(int n) {
if (n>0) {
cetak(n-1);
cout << "Suku ke : " << n << " = " << hitung(n) << endl;
}
}

istream& operator>>(istream& input, Deret& x) {
cout << "Masukkan integer : ";
input >> x.suku_n;
return input;
}

ostream& operator<<(ostream& output, Deret& x) {
output << "Jumlah Deret : ";
for (int i=1; i<= x.suku_n; i++)
if (i == x.suku_n)
cout << i << " adalah " << endl;
else cout << i << " + ";
x.cetak(x.suku_n);
return output;
}

void main() {
Deret Bilangan;
cin >> Bilangan;
cout << Bilangan << endl;
}

Tidak ada komentar:

Posting Komentar