Friday, 2 September 2016

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