Passage d'un tableau unidimensionnel à tridimentionnel
manaliac
Messages postés3Date d'inscriptionmercredi 22 avril 2009StatutMembreDernière intervention18 mai 2010
-
18 mai 2010 à 10:26
manaliac
Messages postés3Date d'inscriptionmercredi 22 avril 2009StatutMembreDernière intervention18 mai 2010
-
18 mai 2010 à 17:59
Bonjour,
je programme en fortran (mais ce sera pareil en C/C++),et je souhaite passer d'un tableau à une dimension X(i*j*k) à un tableau tridimentionnel X_nw(i,j,k)?
Sauriez vous quel est l'algorithme nécessaire pour le changement d'indices?
Merci bien
Manaliac
A voir également:
Passage d'un tableau unidimensionnel à tridimentionnel
kenshin28
Messages postés5Date d'inscriptionmercredi 23 juillet 2008StatutMembreDernière intervention17 juin 2010 18 mai 2010 à 17:11
ca dépend de comment seront rangés tes données mais en gros (et pseudo-code)
tab ancien[x*y*z] type entier
tab nouveau[x][y][z]
pour i de 0 à x
pour j de 0 à y
pour k de 0 à z
tab[i][j][k]=tab[ i*y*z + j*z + k]
finpour
finpour
finpour
Je ne suis pas programmeur fortran alors méfie toi si les tableaux partent de 1, tu as un petit ajustement a faire.
Attention également car cet algorithme est très couteux en temps (3 boucles imbriquées ca fait mal). Dans un tableau de dimension [5][7][3], ca peut encore aller mais imagine si ton tableau fait 10000 colonnes de 10000lignes... Alors si tu peux enregistrer tes données directement dans ton tableau a 3 dimensions, fais le.