Kamis, 16 Juni 2011

MENGHITUNG BILANGAN BIG INTEGER

mungkin menghitung bilangan integer dalam jumlah besar sangat sulit bagi kita, kemungkinan terbanyak kita hanya bisa menghitung dengan sangat terbatas, namun di dalam bilangan big integer semua bilangan akan disimpan dalam elemen-elemen array, setiap digit bilangan akan di simpan pada 1 elemen array.
Contoh : kita akan menjumlahkan bilangan 1234567 dan 7654321 maka semua bilangan tersebut akan di simpan dalam tiap elemen array.



Setiap elemen akan di jumlakan misal 7+1 maka hasilnya akan 8 yang akan disimpan dalam elemen array. jika misalnya hasil penjumlahannya lebih dari 9 maka digit pertama akan disimpan pada elemen array yang ada di depannya, atau dengan kata lain dia akan membagi dengan 10.
Adapun programnya, lihat dibawah ini ^_^ :

#include <cstdlib>
#include <iostream>

using namespace std;

class aritmatika{
      public:
             aritmatika();
             void masuk();
             void beri_nilai();
             void penjumlahan();
             void keluar();
      private:
              int digit;
              int input1[999];
              int input2[999];
              int jumlah[999];
      };

aritmatika::aritmatika(){
                         cout<<"penjumlahan 2 bilangan dengan banyak digit"<<endl<<endl;
                         }
                        
void aritmatika::masuk(){
     cout<<"digit dari kiri"<<endl;
     cout<<"banyaknya digit : ";
     cin>>digit;
     cout<<"\nbilangan pertama"<<endl;
     for(int i=0;i<digit;i++){
             cout<<"digit ke-"<<(i+1)<<" : ";
             cin>>input1[i];
             }
     cout<<"bilangan : ";
     for(int i=0;i<digit;i++){
             cout<<input1[i];
             }
     cout<<endl;
     cout<<"\nbilangan kedua"<<endl;
     for(int i=0;i<digit;i++){
             cout<<"digit ke-"<<(i+1)<<" : ";
             cin>>input2[i];
             }
     cout<<"bilangan : ";
     for(int i=0;i<digit;i++){
             cout<<input2[i];
             }
     cout<<endl;    
     }
    
void aritmatika::beri_nilai(){
     for(int i=0;i<digit;i++){
             jumlah[i]=0;
             }
     }
    
void aritmatika::penjumlahan(){
     for(int i=(digit-1);i>=0;i--){
             jumlah[i]=jumlah[i]+input1[i]+input2[i];
             if (jumlah[i] >9 && i !=0){
                               jumlah[i]=jumlah[i]%10;
                               jumlah[i-1]=jumlah[i-1]+1;
                               }
             }
     }
    
void aritmatika::keluar(){
     cout<<"\nhasil penjumlahan : ";
     for(int i=0;i<digit;i++){
             cout<<jumlah[i];
             }
     cout<<endl<<endl;
     }

int main(int argc, char *argv[])
{
    aritmatika dyas;
    dyas.masuk();
    dyas.beri_nilai();
    dyas.penjumlahan();
    dyas.keluar();
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Nahhh... hasil Program diatas setelah di Run, akan tampil seperti ini :
 Selamat Mencoba....
Cayoooo...
Share This :

Related Templates

Tidak ada komentar:

Posting Komentar

 
Copyright © 2011. Informatika Creation - RYA