Subject: fill two-dimensional array
Posted By: tobian Post Date: 2/21/2006 4:55:42 PM
I have an Array with primenumbers: Prime() = 1,2,3,5,7,11,13,17,19
With this array I want to make a function FillArray(n As Integer).
This function tries to find every possible sum of primenumbers to be 7 (is Prime(4)).
BUT, every primenumber is to be followed by his next or previous primenumber in array Prime, like in following sequense. I want function FillArray to make this sequense.

1+2+3+5=11
1+2+3+2=8
1+2+1+2+3=9
1+2+1+2+1=7 is true
2+3+5=10
2+3+2=7 is true
2+1+2+3=8
2+1+2+1+2=8
3+5=8
3+2+3=8
3+2+1+2=8
5+7=12
5+3=8
7=7 is true

This seqence learns there are three sums of primenumbers to be true:
1+2+1+2+1=7
2+3+2=7
7=7
These results have to be put in a two-dimensional array like this:
1,2,1,2,1
2,3,2
7
I tried to make some code, but my VBA knowledge is too limited to make it function. So help is needed. Maybe the code helps understanding what I want, although you will find many errors in it.

    visual basic code:

    Function FillArray(n As Integer) 'for this example n=4
    Dim primeSum, counter, row, number As Integer
    Dim primeArray(row,number), Prime() As ?

    primeSum=0
    counter=0
    row=0
    number=0
     DoWhile primeSum<Prime(n)
                primeSum = primeSum + Prime(counter)
                primeArray(row,number) = Prime(counter)
                counter=counter+1
                number=number+1
                If primeSum=Prime(n)
                   primeArray(row,number)=Prime(counter)
                   row=row+1
         'Then copy in primeArray the values of the last row in the new one
         'except the last value
                   number=number-1     'go place back in the new row in primeArray
                   counter=counter-2     'now return to the DoWhile loop and go on
                Else  counter=counter-2  'primeSum>Prime(n) When counter<2,
                                                  'number has to be number-1?

    primeSum=0   'start all over again
    a=1              'start with the second prime
    row=row+1           'go on with next row in primeArray
    number=0              ' and then DoWhile loop starts again


Go to topic 40394

Return to index page 363
Return to index page 362
Return to index page 361
Return to index page 360
Return to index page 359
Return to index page 358
Return to index page 357
Return to index page 356
Return to index page 355
Return to index page 354