برنامه ضرب دو عدد 20 رقمی
include <iostream.h>
#include <conio.h>
int x[20],y[20],w[40],k[20][40];
void multiply(void);
void Sum(void);
void main(){
char t[20];
int i,j,z;
clrscr();
cout << "\n Enter a Number 1 :";
cin >> t;
z=19;
for(i=0;i<20 && t[i];i++);
for(i=i-1;i>=0;i--)
x[z--]=t[i]-48;
cout << "\n Enter a Number 2 :";
cin >> t;
z=19;
for(i=0;i<20 && t[i];i++);
for(i=i-1;i>=0;i--)
y[z--]=t[i]-48;
for(i=0;i<20;i++)
for(j=0;j<40;j++)
k[i][j]=0;
multiply();
}
/
/
void multiply(void){
int i,j,z,z1,tmp,c;
c=0;
z=39;
for(i=19;i>=0;i--)
for(j=19;j>=0;j--){
tmp=(x[i]*y[j])+c;
c=0;
// cout<<tmp<<"\n";
while(tmp>=10){
C++;
tmp=tmp-10;
}
if(i==19)
k[i][j+20]=tmp;
else{
if(j==19){
z--;
z1=z;
}
k[i][z1--]=tmp;
}
}
c=0;
for(j=39;j>=0;j--){
for(i=0;i<20;i++)
tmp+=k[i][j];
tmp+=c;
c=0;
while(tmp>=10){
C++;
tmp-=10;
}
w[j]=tmp;
tmp=0;
}
for(i=0;i<40 && w[i]==0 ;i++);
cout<<"\n\n Value zarb= ";
for(i;i<40;i++)
cout<<w[i];
Sum();
}
/
/
void Sum(void){
int i,tmp,c,s[20];
c=0;
for(i=19;i>=0;i--){
tmp=(x[i]+y[i])+c;
c=0;
while(tmp>=10){
C++;
tmp=tmp-10;
}
s[i]=tmp;
}
cout<<"\n\n Value jam = ";
for(i=0;i<20 && s[i]==0 ;i++);
for(i;i<20;i++)
cout<<s[i];
}