multidimensionale Array

Status
Niet open voor verdere reacties.

jan68

Gebruiker
Lid geworden
19 apr 2012
Berichten
90
Mensen ik zit met een probleem.
ik moet een matrix vullen met waarde uit een array.
de matix is 3 kolomen wijd en 396 rijen groot, alleen de eerste kolom is 3 rijen
dus (U,V,W) : opmerking " N " kan elke waarde innemen
......................................................
Dim vm (3,396,396) as single
Dim bij (360,360) as single
dim dqw (360) as single
dim n as integer,i as Integer,j as integer

for i =1 to n
bla,bla,bla
for j=1 to n
bij(i,j)= dqw(j)
call equivalence(i,j)
next j
bla,bla,bla
next i
................................................

sub equivalence (ntal as integer,aantal as integer)
static U as integer
static V as integer
static W as integer

if ntal = 1.0 then
if aantal = 1.0 then
u = 1.0 : v = 1.0 : w = 1.0
else
v = v + 120
if v > 396 then w = w +1 : v = v - 396
else
if aantal = 1.0 then
U = ntal mod 3 : if U = 0.0 then U = 3.0
V = math.abs (( ntal + 1 ) / 3 )
W = 1.0
else
U = ntal mod 3 : if U = 0.0 then U = 3.0
V = math.abs (( ntal + 1) / 3 )
V = V + 120 : if V > 396 then W = W+1 : V = V - 396
end if
end if
VM(U,V,W) = dqw(aantal)

dit werkt allemaal redelijk in een sequteel functie
totdat ik een willekeurig waarde voor I,J in wil voeren dan loopt het in de knoop
Dit doordat elke waarde die na een aantal keren van 120 over blijkt bij geteld wordt bij de volgende berekening.
hoe verander ik de code hiervoor.
 
Gelukkig valt de tabel aantallen altijd op een vaste plaats.
aantal 1 komt over een met v=1:w=1
aantal 2: v=121:w1
aantal 3: v=241:w1
aantal 4: v=361:w1
aantal 5: v=481-396= 85:w=2
aantal 6:v=206:w=2
aantal 7:v=326:w=2
aantal 8:v=446-396=51:w=3
aantal 9: v=171:w=3
aantal 10:v=292:w=3 enz : enz
natuurlijk kan ik de hele tabel zo opzetten voor 120 mogenlijkheden maar...... het lieft hebben we een formule hiervoor
en dan hebben we ook nog de U / V omzetting tabel.

lastig,lastig
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan