Algoritma :
Procedure big_integer ( input : digit , output : jumlah )
Deklarasi
digit : integer of array (input)
jumlah : integer of array (output)
Deskripsi
read(digit)
for i <= 0 to digit do
digit = input1[i]
write (input1[i])
for i <= 0 to digit do
digit = input2[i]
write (input2[i])
enfor
endfor
for i<= 0 to digit do
jumlah[i] = 0
endfor
read(jumlah)
for i <= digit-1 to 0 do
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
endif
endfor
for i <= 0 to digit do
jumlah[i]
endfor
write(jumlah)
Programnya :
#include <cstdlib>
#include <iostream>
using namespace std;
class big{
public:
big();
void masuk();
void beri_nilai();
void penjumlahan();
void keluar();
private:
int digit;
int input1[999];
int input2[999];
int jumlah[999];
};
big::big(){
cout<<"penjumlahan 2 bilangan dengan banyak digit"<<endl<<endl;
}
void big::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 big::beri_nilai(){
for(int i=0;i<digit;i++){
jumlah[i]=0;
}
}
void big::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 big::keluar(){
cout<<"\nhasil penjumlahan : ";
for(int i=0;i<digit;i++){
cout<<jumlah[i];
}
cout<<endl<<endl;
}
int main(int argc, char *argv[])
{
big x;
x.masuk();
x.beri_nilai();
x.penjumlahan();
x.keluar();
system("PAUSE");
return EXIT_SUCCESS;
}
Program diatas adalah program untuk menjumlahkan bilangan bulat besar menggunakan sebuah array .
Tidak ada komentar:
Posting Komentar