Page 1 sur 1

utilisation de tableaux négatifs dans les structures ...

Publié : dim. 13/févr./2011 13:51
par jerexgrz

Code : Tout sélectionner

Structure Fenetre
    x.w 
    y.w
    ;Nom.s [-10]  ; 10 noms possibles
  Array nom1.s (-10)
 EndStructure

  ter.Fenetre

  ter\Nom[-1] = "sylvie"
  ter\Nom[-2] = "charles"
  
  ter\nom1(-1) = "moins"
  ter\nom1(-2) = "negatif"

  Debug ter\nom[-1]
  Debug ter\nom[-2]
  Debug ter\nom[-3]
  
  Debug ter\nom1(-1)
  Debug ter\nom1(-2)

Re: utilisation de tableaux négatifs dans les structures ...

Publié : dim. 13/févr./2011 14:26
par Chris
Quelle est l'utilité d'avoir des tableaux négatifs? 8O

(C'est pas une critique, juste une question)

Re: utilisation de tableaux négatifs dans les structures ...

Publié : dim. 13/févr./2011 15:28
par Backup
oui surtout qu'un simple

Code : Tout sélectionner

a=10
a=-a
debug a
suffit ;)

la creation d'un tableau c'est de la reservation D'espaces ....

a quoi servirai de reserver un espace negatif ?? :roll:

haaa oui , tu peux ainsi augmenter ta ram sans ajouter de puce !!

genre tu fait dim a(-1024) et hop un kilo de plus dans la ram !! Pratique :lol:

Re: utilisation de tableaux négatifs dans les structures ...

Publié : dim. 13/févr./2011 22:34
par G-Rom
il dois avoir une boucle qui fait une itération dans le négatif , du style
for i = -10 to -1


ci c'est le cas , un simple :
index.i = -i
index , est donc positif. c'est la seule explication que je trouve a sa question.

@+

Re: utilisation de tableaux négatifs dans les structures ...

Publié : mar. 15/févr./2011 11:15
par jerexgrz
En faite, pour avoir une explication facile, l'utilisation de tableaux négatifs me permet de connaitre un resultat à un moment donné. C'est à dire que par exemple,

en tab(1) = 5, le resultat est bon.
Ensuite, tab(2) = 7 le resultat est toujours bon.
A savoir que les resultats sont liés (ici par rapport à la position dans le tableau: 1, 2, 3, ... ).

Et apres, par exemple, tab(3) = 18 (resultat dejà dans la memoire). Du coup, au lieu d'effacer le tab(3) = 18, je garde sa position dans tab (soit 3) et je stocke le resultat dans tab(-3). soit tab(-3)=9. De cette maniere, je peux analyser ces deux resultats (les ajouter, les soustraire, ....) et surtout savoir que j'ai "une sorte d'erreur" en (-3).

Re: utilisation de tableaux négatifs dans les structures ...

Publié : mar. 15/févr./2011 11:24
par Backup
jerexgrz a écrit :En faite, pour avoir une explication facile, l'utilisation de tableaux négatifs me permet de connaitre un resultat à un moment donné. C'est à dire que par exemple,

en tab(1) = 5, le resultat est bon.
Ensuite, tab(2) = 7 le resultat est toujours bon.
A savoir que les resultats sont liés (ici par rapport à la position dans le tableau: 1, 2, 3, ... ).

Et apres, par exemple, tab(3) = 18 (resultat dejà dans la memoire). Du coup, au lieu d'effacer le tab(3) = 18, je garde sa position dans tab (soit 3) et je stocke le resultat dans tab(-3). soit tab(-3)=9. De cette maniere, je peux analyser ces deux resultats (les ajouter, les soustraire, ....) et surtout savoir que j'ai "une sorte d'erreur" en (-3).

ce que tu decrit là ça s'appelle une liste chainée !! ;)
(voir doc)

la liste chainée permet de poser des arguments sur une pile (la liste)
et de changer le pointeur pour aller relire ou modifier n'importe quel données
dans cette "pile" :)

Re: utilisation de tableaux négatifs dans les structures ...

Publié : mar. 15/févr./2011 11:41
par Backup
exemple d'utilisation :


newlist pile()

addelement (pile())
pile()=13
Debug "le pointeur est a :" + str ( listindex (pile()) )+ " la valeur est " + str (pile())
addelement (pile())
pile()=8
Debug "le pointeur est a :" + str ( listindex (pile()) )+ " la valeur est " + str (pile())

addelement (pile())
pile()=10
Debug "le pointeur est a :" + str ( listindex (pile()) )+ " la valeur est " + str (pile())

selectelement (pile(), 0)
Debug "affiche le premier element la valeur est :" + str (pile())


selectelement (pile(), 2)
Debug "affiche le 3em element la valeur est :" + str (pile())

selectelement (pile(), 0):a=pile()
selectelement (pile(), 2):b=pile()

Debug "addition du premier est du 3em element 13+10= " + str (a+b)

Debug "ajout du resultat a la fin de la pile "
lastelement (pile()) ; selection le dernier element de la pile

addelement (pile())
pile()=a+b

Debug "affiche le dernier element rentré :" + str (pile())