Question: Big integer addition with array of integer as input .
Solution :
// I have used different syntax for ip/op, you can use scanf / printf instead .
//big integer addition program without test case and array input
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a[100],b[100];
int c[100],m,n;
cin>>m;
cin>>n;
int i,j;
int newpos=0;
for( i=0;i<m;i++)
{
cin>>a[i];
}
for( j=0;j<n;j++)
{
cin>>b[j];
}
int sum,carry=0;
for( i=m-1,j=n-1;i>=0,j>=0;i--,j--)
{
sum=a[i]+b[j]+carry;
c[newpos++]=sum%10;
carry=sum/10;
}
for(;j>=0;j--)
{
sum=b[j]+carry;
c[newpos++]=sum%10;
carry=sum/10;
}
for(;i>=0;i--)
{
sum=a[i]+carry;
c[newpos++]=sum%10;
carry=sum/10;
}
if(carry>0)
{
c[newpos++]=carry;
}
//reversing the array
for(i=newpos-1;i>=0;i--)
{
cout<<c[i];
}
cout<<"\n";
}
No comments:
Post a Comment