November 23, 2001
Jag vet inte hur stora vektorer som hanteras.
Men vad du kan göra är ju att göra en 2-dimensionell
typ int var[2048][2048]
sen för att adressera t.ex. 2118760 så kör du
2118760/2048=1034 för första []
sedan
2118760%2048=1128 för andra[]
var[2118760] = var [1034][1128] i det systemet.
(var[2118759] = var [1034][1127])
May 13, 2004
jarlen wrote: Jag vet inte hur stora vektorer som hanteras.
Men vad du kan göra är ju att göra en 2-dimensionell
typ int var[2048][2048]sen för att adressera t.ex. 2118760 så kör du
2118760/2048=1034 för första [] sedan
2118760%2048=1128 för andra[]var[2118760] = var [1034][1128] i det systemet.
(var[2118759] = var [1034][1127])
Tack för svaret jarlen, men jag är inte säker på att jag förstår. Matrisen som du låter motsvara min vektor ser ju ut att ha 1034*1128 = 1166352 celler, medans min vektor har nästan dubbelt så många.
November 23, 2001
Gamblor wrote: Jarlens förslag med en matrix på 2048x2048 ger 4 194 304 celler. Därefter visade han hur man adresserar den 2 118 760:e resp. 2 118 759:e cellen (dvs [1034][1128] resp [1034][1127]).
Exakt, det kanske blev lite snabbt och rörigt.
Det du initierar är en vektor på [2048][2048] och för att få värdet du ville ha som högsta gör du på det sättet (delat med, sen modulus).
Jag är inte 100% på om det funkar, har aldrig behövt så stora vektorer.
1 Guest(s)