ضرب و جمع اعداد بزرگ
#include
#include
#include
char num1[100], num2[100];
int sum[101], mul[10001] ;
int flag,len1,len2,len,i,j, d, d1, d2, c, x, k, count;
int main()
{
textmode(BW80);
textcolor(15);
textbackground(1);
clrscr();
printf("Enter first number: ");
gets(num1);
printf("Enter second number: ");
gets(num2);
len1=strlen(num1);
len2=strlen(num2);
if (len1>len2)
len = len1;
else
len = len2;
/********************* C O M P A R E N A M B E R S *****************/
flag = 0 ;
if (len1>len2){
flag = 1;
}
if (len2>len2){
flag = 1;
}
if (len1==len2){
for(i=0 ; i
flag = 1;
break;
}
if (num1[i]
break;
}
}
}
if (flag==0)
printf("\n");
/********************* S U M N U M B E R S **********************/
c = 0 ;
for(i=0 ; i
d1 = num1[len1-i-1]-'0';
else
d1 = 0;
if (len2-i>0)
d2 = num2[len2-i-1]-'0';
else
d2 = 0;
d = (d1+d2+c) % 10 ;
sum[i] = d ;
c = (d1+d2+c) / 10 ;
}
if (c>0){
sum[i] = c;
len++;
}
printf("\n=======================\n");
printf("\nSum of these numbers is: ");
for(i=len-1 ; i>-1 ; i--)
printf("%d",sum[i]);
printf("\n");
/**************** M U L T P L Y N A M B E R S ********************/
count=0;
for(i=len1-1 ; i>-1 ; i--){
d1 = num1[i]-'0';
k = c = 0;
for(j=len2-1 ; j>-1 ; j--){
d2 = num2[j]-'0';
d = (d1*d2+c+mul[count+k]) % 10 ;
c = (d1*d2+c+mul[count+k]) / 10 ;
mul[count+k] = d ;
k++;
len = count + k ;
} // inner for
if (c>0){
mul[len] = c;
x = 0;
}
else
x = 1;
count++;
} // outer for
printf("\n=======================\n");
printf("\nMul of these numbers is: ");
for(i=len-x ; i>-1 ; i--)
printf("%d",mul[i]);
getch();
return 0;
}