Copier gros tableau d'un coup...
Copier gros tableau d'un coup...
Salut,
Je cherche un moyen de copier un tableau assez gros sans faire des boucle interminable ... et aussi de copier juste un morceau d'un tableau.
a+
Scaraber
Je cherche un moyen de copier un tableau assez gros sans faire des boucle interminable ... et aussi de copier juste un morceau d'un tableau.
a+
Scaraber
bouton recherche (Search) sur le forum
retour :
http://www.purebasic.fr/french/viewtopi ... ht=tableau
retour :
http://www.purebasic.fr/french/viewtopi ... ht=tableau
Dernière modification par Backup le lun. 28/mai/2007 11:49, modifié 1 fois.
pour recopier l'intégralité d'un tableau un simple CopyMemory() est effectivement la plus rapide des solution :
Code : Tout sélectionner
;********** tableau initial
a_length = 100
Dim a.l(a_length)
For i = 0 To a_length - 1
a(i) = Random(1000)
Next
;********** recopie dans le 2ème tableau
Dim b.l(a_length)
CopyMemory(a(), b(), a_length * SizeOf(Long))
;********** vérification
For i = 0 To a_length - 1
Debug Str(a(i)) + " = " + Str(b(i))
Next
et pour juste un morceau - dans le même esprit :
Code : Tout sélectionner
;********** tableau initial
a_length = 100
Dim a.l(a_length)
For i = 0 To a_length - 1
a(i) = Random(1000)
Next
;********** recopie 20 valeurs dans le 2ème tableau à la position 10.
Dim b.l(a_length)
CopyMemory(@a(10), @b(10), 20 * SizeOf(Long))
;********** vérification
For i = 0 To a_length - 1
Debug Str(a(i)) + " => " + Str(b(i))
Next
scaraber a écrit :Ok merciheu sinon il y a un moyen de definir toutes les case d'un tableau a une meme valeur (dans le meme style) c'est pour reinitialiser le tableau mais mon programme utilise le zero et identifie les case "vide" avec une valeur de -1
a+
Scaraber
Code : Tout sélectionner
Dim tableau.l(200)
Global valeur_dinitialisation =50
For i = 0 To 200
PokeL(@tableau(i), valeur_dinitialisation)
Next
CallDebugger
il n'y a pas de ligne ou de colonne danbs un tableau, sinon tu as cette organisation en mémoire :scaraber a écrit :Heu j'ai encore une question![]()
Comment sa marche pour les tableau a deux dimenion ? sa marche par ligne ou par colone ? pour la copie d'un morceau
a+
Scaraber
[ ] = une case mémoire,
[ tab(0,0) ][ tab(0,1) ][ tab(0,2) ]...[ tab(1,0) ][ tab(1,1) ]...