Minggu, 26 Juni 2011

Menghitung 2 bilangan iteratif

#include <cstdlib>
#include <iostream>

using namespace std;

class Penjumlahan{
      public:
             Penjumlahan();
             int ukuran();
             void masuk(int angka);
             void penjumlahan_iteratif(int angka);
             int penjumlahan_rekursif(int angka);
             void keluar(int angka);
      private:
              int A[100];
              int B[100];
              int jumlah[100];
              int angka;
            
      };


Penjumlahan::Penjumlahan(){
for(int i=0;i<angka;i++){
             jumlah[i]=0;
             }
                           }

int Penjumlahan::ukuran(){
    cout<<"Penjumlahan 2 bilangan (BIG INTEGER) ITERATIF "<<endl<<endl;
     cout<<"masukkan banyak bilangan: ";
     cin>>angka;
     return angka;
    }

void Penjumlahan::masuk(int angka){
     cout<<"\nbilangan pertama : "<<endl;
     for(int i=0;i<angka;i++){
             cout<<"angka ke-"<<(i+1)<<" : ";
             cin>>A[i];
             }
     cout<<"bilangan 1 =  ";
     for(int i=0;i<angka;i++){
             cout<<A[i];
             }
     cout<<endl;
     cout<<"\nbilangan kedua : "<<endl;
     for(int i=0;i<angka;i++){
             cout<<"digit ke-"<<(i+1)<<" : ";
             cin>>B[i];
             }
     cout<<"bilangan 2 = ";
     for(int i=0;i<angka;i++){
             cout<<B[i];
             }
     cout<<endl;   
     }
    
void Penjumlahan::penjumlahan_iteratif(int angka){
     for(int i=(angka-1);i>=0;i--){
             jumlah[i]=jumlah[i]+A[i]+B[i];
             if (jumlah[i] >9 && i !=0){
                               jumlah[i]=jumlah[i]%10;
                               jumlah[i-1]=jumlah[i-1]+1;
                               }
             }
     }

void Penjumlahan::keluar(int angka){
     cout<<"\nHasil penjumlahan 2 bilangan = ";
     for(int i=0;i<angka;i++){
             cout<<jumlah[i];
             }
     cout<<endl<<endl;
     }
    
int Penjumlahan::penjumlahan_rekursif(int angka){
    int i=0;
     if(angka>0){
     if(jumlah[i] >9 && i !=0){
     jumlah[i]=jumlah[i]%10;      
     return penjumlahan_rekursif(angka-1);
     }
     else
     {
     jumlah[i-1]=jumlah[i-1]+1;
     return penjumlahan_rekursif(angka-1);
     }
     }
    }
int main(int argc, char *argv[])
{
    int ukuran;
    Penjumlahan huruf;
    ukuran = huruf.ukuran();
    huruf.masuk(ukuran);
    cout<<endl;
    cout<<"jumlah iteratif diatas adlah = ";
    huruf.penjumlahan_iteratif(ukuran);
    huruf.keluar(ukuran);
    cout<<"jumlah rekusif diatas adlah = ";
    huruf.penjumlahan_rekursif(ukuran);
    huruf.keluar(ukuran);
   
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Blogger Theme by Lasantha - Premium Blogger Templates | Affiliate Network Reviews