#include <iostream> #include <math.h> #include <limits> #include <cstdlib> #include <cstring> using namespace std; int kata; char val [100]; int validasi() { do { kata=0; cout<<"\t\t";cin>>val; for(int i=0; i<strlen(val); i++) { if(isdigit(val[i])==0) kata++; } if(kata !=0) cout<<"\t\tInput salah !\n"<<endl; } while(kata!=0); return 0; } int fibo(int bil){ if(bil==0) return 0; else if(bil==1) return 1; else return fibo(bil-1)+fibo(bil-2); } int iteratif (int suku) { int a=0, b=1,c; if(suku==0) return 0; for(int i=1; i<=suku; i++){ c = a + b; b = a; a = c; cout<<"\t\t"<<c<<"\n"; } return c; } int main(){ int bil,pilihan; cout<<"\tFungsi Rekursif dan Iterative Bilangan Fibonacci"<<endl; cout<<"\t================================================"<<endl; cout<<"\t\tTekan 1 untuk Fibonacci Rekursif\n\t\tTekan 2 untuk Fibonacci Iterative\n\t\tTekan 3 untuk Berehenti"<<endl; balik: cout<<"\n\t\tMasukkan Pilihan : "; validasi(); pilihan=atoi(val); switch(pilihan){ case 1 : { cout<<"\n\t\tFibonacci Rekursif "; cout<<"\n\t\tMasukkan bilangan : "; validasi(); bil=atoi(val); if (bil<0) cout<<"\t\tNilai harus berupa bilangan bulat positif"; else{ for (int i=1;i<=bil;i++){ cout<<"\t\t"<<fibo(i)<<"\n"; } cout<<"\t\tFibonacci("<<bil<<") = "<<fibo(bil); } break; } case 2 :{ int suku; cout<<"\n\t\tFibonacci Iterative "; cout<<"\n\t\tMasukkan bilangan : "; validasi(); suku=atoi(val); if (suku<0) cout<<"\t\tNilai harus berupa bilangan bulat positif"; else cout<<"\t\tFibonacci("<<suku<<") = "<<iteratif ( suku); break; } case 3:{ cout<<"\t\tBye "; return 0; } default : cout<<"\t\tPilihan salah !"; } cout<<"\n\t------------------------------------------------"<<endl; system("pause"); goto balik; }
Subscribe to:
Post Comments
(
Atom
)
0 comments:
Post a Comment