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

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

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

Message 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)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

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

Message par Chris »

Quelle est l'utilité d'avoir des tableaux négatifs? 8O

(C'est pas une critique, juste une question)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

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

Message 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:
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

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

Message 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.

@+
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

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

Message 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).
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

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

Message 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" :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

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

Message 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())
Répondre