**Addition of two number using array of unequal size** I tried my level best to get it done. But I would like to have a better solution in all terms. > Given 2 huge numbers as seperate digits, store them in array and > process them and calculate the sum of 2 numbers and store the result > in an array and print the sum. > > Input: > Number of digits:12 > 9 2 8 1 3 5 6 7 3 1 1 6 > Number of digits:9 > 7 8 4 6 2 1 9 9 7 > Output : > 9 2 8 9 2 0 2 9 5 1 1 3 #include<stdio.h> #include<stdlib.h> int main() { int num1[]={9,9,9,9,9,9,9,9,9}; int num2[]={1,1,1}; int num1_n=sizeof(num1)/sizeof(int); int num2_n=sizeof(num2)/sizeof(int); int z=num1_n+num2_n; int carry=0; int digi=0; int i=0; int j=0; int *num3; if(num1_n>num2_n) { num3=(int*)malloc(sizeof(int)*(num1_n+1)); for(i=0;i<num1_n+1;i++) { num3[i]=0; } for(i=num1_n-1,j=num2_n-1;i>=0 || j>=0 ;i--) { num3[i+1]=num3[i+1]+num1[i]+num2[j]; printf("i %d j %d num3[i] %d num1[i] %d num2[i] %d\n",i,j,num3[i],num1[i],num2[j]); if(num3[i+1]>9) { carry=1; num3[i+1]=num3[i+1]%10; } if(carry==1) { num3[i]=1; carry=0; } if(j>=0) { j--; } } } for(i=0;i<num1_n+1;i++) { printf("%d ",num3[i]); } return 0; }