Welcome Guest.

1Answers

C++ high precision operation: input two numbers to find the product. Ask God to help me see where the error is, thank you.

Asked by: Christine Jones 200 views IT September 4, 2018

#include<bits/stdc++.h>

using namespace std;

int la[1010], lb[1010], lc[1010];

int main()

{

int i,j,k;

string a,b;

cin> >a>>b;

k=0;

for(i=a.size()-1;i>=0;i--)

{

la[k]=a[i]-'0';

k++;

}

k=0;

for(j=b.size();j>=0;j--)

{

lb[k]= b[i]-'0';

k++;

}

for(i=0;i<=a.size()-1; i++)

{

for(j=0;j<=b.size()-1;j++)

lc[i+j]= Lc[i+j]+lc[i]*lc[j];

}

for(k=0;k<a.size()+b.size( )-1;k++)

{

if(lc[k]>=10)

{

lc[k ]=lc[k]%10;

lc[k+1]=lc[k+1]+lc[k]/10;

}

}

if(lc[a.size()+b.size()-1]==0){

for(k=a.size()+ B.size()-2;k>=0;k--)

cout<lc[k]; 

}

Else{

for(k=a.size()+b.size()-1;k>=0;k--)

cout<lc[k ];;

}

return 0;

1 Answers

  1. +4Votes  

    A careless little mistake

    #include<bits/stdc++.h>

     

    using namespace std;

     

    int la[1010], lb[1010], lc[1010];

     

    int main()

     

    {

        int i,j,k;

        string a,b;  .size()-1; i>=0; i–)

            {

                la[k]=a[i]-‘0’;

                k++;

            }

        k=0;

        for(j=b.size()-1; j>=0; j–) / /b.size()-1

            {

                lb[k]=b[ j]-‘0’; //here is j 

     

                k++;

            }

        for(i=0; i<=a.size()-1; i++)

            {

                for(j=0; j<=b.size()-1; j++)  

                {

                    lc[i+j]=lc[i+j]+la[i]*lb[j]; //la[ i]*lb[j] 

     

                }

            }

        for(k=0; k<a.size()+b.size()-1; k++)

            {

                if(lc[k]>=10)

                    {

                        lc[k]=lc[k]%10;

                        lc[k+1]=lc[k+1]+lc[k]/10;

                    }

            }

        if(lc [a.size()+b.size()-1]==0)

            {

                for(k=a.size()+b.siz e()-2; k>=0; k–)

                    cout<<lc[k];

            }

        else

            {

                for(k=a.size()+b.size()-1; k>=0; k–)

                    cout<<lc[k];

            }

        return 0;

    }

    Arthur Phillips- September 4, 2018 |