CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 9 of 9
  1. #1
    Join Date
    Sep 2013
    Posts
    3

    can someone help me?

    I do not know what to do with this help me please.

    1. Consider the problem of adding two large positive integers, each at most twnty(20) digits long. One solution is to store the integers in an array where a single digit is placed in a single component of the array. for example the number 1,418,436,029 can be stored as shown below:

    / / / / / 1 / 4 / 1 / 8 / 4 / 3 / 6 / 0 / 2 / 9 /
    0 1 2 ... 10 11 12 13 14 15 16 17 18 19

    design an algorithm called addLong(int1,int2, sum) that will take two positive integers stored in two separtate arrays, in Array1 and Array2 in the manner described earlier, take their sum and store the result in a third called sumArray.

    can someone help me with this?

  2. #2
    Join Date
    May 2012
    Location
    Earth!
    Posts
    9

    Re: can someone help me?

    so what is the problem that you are facing?
    This is fairly simple and straightforward, given that the solution is already laid out for you - arrays.

    Do you have any code to show for your efforts towards solving this?

  3. #3
    Join Date
    Sep 2013
    Posts
    3

    Re: can someone help me?

    It doesnt need a code so it only needs an outline form if its coding i think i know what to do but since it says it should be in outline format i don't know but guess the arrays
    is this correct?
    Array1( int1)
    / 1 / 2 / 3 / 4 / 5 / 6 / 7 /
    0 1 2 3 4 5 6

    Array2 (int2)
    / 1 / 2 / 3 / 4 / 5 / 6 / 7 /
    0 1 2 3 4 5 6

    Sum
    / 2 / 4 / 6 / 8 / 10 / 12 / 14 /
    0 1 2 3 4 5 6

    SumArray = Sum
    / 2 / 4 / 6 / 8 / 10 / 12 / 14 /
    0 1 2 3 4 5 6

    is this correct?

  4. #4
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    7,822

    Re: can someone help me?

    I would have figured that the required sum would be

    / 2 / 4 / 6 / 9 / 1 / 3 / 4 /
    0 1 2 3 4 5 6

    as when the value of an element exceeds 9, then the element value is a(i) % 10 and the value of the element to the left (ie a(i - 1)) is incremented by a(i) / 10 (integer arithmetic). This progates throughout the array from right to left.
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++23 Compiler: Microsoft VS2022 (17.6.5)

  5. #5
    Join Date
    Sep 2013
    Posts
    3

    Re: can someone help me?

    can you give me some reference to study with... i really don't understand.

  6. #6
    2kaud's Avatar
    2kaud is offline Super Moderator Power Poster
    Join Date
    Dec 2012
    Location
    England
    Posts
    7,822

    Re: can someone help me?

    Quote Originally Posted by kael6590 View Post
    can you give me some reference to study with... i really don't understand.
    http://en.wikipedia.org/wiki/Arbitra...ion_arithmetic
    All advice is offered in good faith only. All my code is tested (unless stated explicitly otherwise) with the latest version of Microsoft Visual Studio (using the supported features of the latest standard) and is offered as examples only - not as production quality. I cannot offer advice regarding any other c/c++ compiler/IDE or incompatibilities with VS. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/ and can be used without reference or acknowledgement. Also note that I only provide advice and guidance via the forums - and not via private messages!

    C++23 Compiler: Microsoft VS2022 (17.6.5)

  7. #7
    Join Date
    May 2012
    Location
    Earth!
    Posts
    9

    Re: can someone help me?

    Looking at it in the right direction.
    Couple of things to look out for.

    1. The 2 arrays are of 20 in length each. Each array can store 20 digits.
    2. 3rd array 21 in length. Sum can add up and come up with one extra digit.
    3. You have to store the number in either of these two formats (cant think of another way, if it exists),
    a. Store Last digit first in array starting from last array index (Straightforward)
    b. Store Last digit first in array starting from first array index.

    For instance if you have 2 numbers,
    1234
    89
    and have 2 arrays of length 5 each, and storing in this way
    [1] [2] [3] [4] []
    [8] [9] [] [] []
    will yield a junk result.

    Instead if you store the last digit first in array starting from last array index
    [] [1] [2] [3] [4]
    [] [0] [0] [8] [9]
    Now your sum will be right.
    Just add each array values from last index. Do a mod (%10) on result to get the carry forward and reminder. Carry forward gets added to next addition and reminder goes into the result array.

    You could also store last digit first starting from first array index
    [4] [3] [2] [1] []
    [9] [8] [] [] []
    Note that the digits have reversed their order.
    Last edited by ShaQ.Blogs; September 8th, 2013 at 08:59 AM.

  8. #8
    Join Date
    Sep 2013
    Posts
    13

    Re: can someone help me?

    Quote Originally Posted by kael6590 View Post
    the problem of adding two large positive integers
    Well, I guess this is a newbie programming task and the addition algorithm you're supposed to be using is the one you were taught in first grade school on paper .

  9. #9
    Join Date
    Oct 2013
    Posts
    1

    Re: can someone help me?

    Name:  help.jpg
Views: 622
Size:  12.5 KBName:  eeeeeeeee.jpg
Views: 673
Size:  24.9 KB
    can you help me fix this error ? pls

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured