[Scheme] vecteur de vecteurs ( affectations )

zinedine
[Scheme] vecteur de vecteurs ( affectations )

Bonjour tout le monde,
le bon titre du sujet est : affectation d'une valeurs à un élément d'un vecteur de vecteurs en Scheme
voila donc je déclare un vecteur de vecteur "tableau" comme suit :
(define tableau (make-vector 5 (make-vector 5 'D )))
et quand j'essaie de modifier une valeur :
(vector-set! (vector-ref tableau 3) 3 'K)
toute la ligne 3 reçois la valeur K
il est ou le probleme ?
Merci

fredericmazue
Re: [Scheme] vecteur de vecteurs ( affectations )

Mon Scheme est assez loin... mais avec (vector-ref tableau 3) tu touches le troisième élément de ton vecteur de vecteur donc un vecteur
essaie (vector-ref (vector-ref tableau 3) 3) par exemple pour modifier le 3eme élément du troisième vecteur.

En espérant t'avoir aidé

zinedine
Re: [Scheme] vecteur de vecteurs ( affectations )

Merci pour ta réponse fredericmazue,
j'ai trouvé une réponse ailleurs, en fait, le problème est dans la déclaration, il me fallait mettre une boucle sinon les éléments du premier vecteur ne sont que des pointeurs vers le même vecteur, autrement dit, j'avais déclaré un vecteur de pointeur vers un même vecteur.
la meilleure solution est d'utiliser les fonctions suivantes :
(define T2D (make-array E 10 10)) ; declaration
(array-set! T2D 'element 3 4) ; initialisation d'un element
(array-ref T2D 3 4) ;retourne la valeur de T2D[3][4];
(display T2D) ;) affichage
Merci tout le monde,