Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 563
Réponses : 13
Type : discussion
Etat : réponses autorisées

Savoir quand une liste est vide

xDreams le 02/04/2012 à 19:15
Salut à tous ! happy.gif

Je voulais juste savoir si il existait une fonction pour détecter la non présence de nombres dans une liste, en gros quand elle est vide quoi ! clown.gif
sandro le 02/04/2012 à 20:55
Non, je ne craois pas qu'en dessous de la TI-83+ ce ne soit possible. Après, si ta liste ne finit jamais par 0, tu peux faire :
Code
:999 -> dim(L1               //ou autre, prévoit 10 octés par terme ; s'il y a
plus de terme que de le nombre, alors uu pers tes données (donc prévoir assez gros)
:999 -> D       //le même nombre qu'au dessus
:While L<1 et L1(L)=0
:L-1 -> dim(L1
:L-1 -> L
:End
:If L=1 et 0=L1(L
:0 -> L
:If L=0 : Disp "L1 VIDE OU VALANT 0
xDreams le 02/04/2012 à 21:16
Ok bah merci quand même !
linkakro le 02/04/2012 à 21:19
Je ne savais pas que la ti83+ supportait la dimension zéro !
Comme j'ai toujours été en impasse sur 82statfr avec la liste vide je n'avais même pas essayé sur 83+. minied.gif
Merci sandro kiss.gif

Je n'ai rien à redire sur ta démarche de test.
Mais on peut utiliser des opérations plus condensées pour effectuer le même test.
Code
:999 -> dim(L1
:If min(L1=0)
:Then
:Disp "L1 VIDE OU VALANT 0
:Else
:Disp "L1 REMPLIE ET NON NULLE
:End
Tu peux utiliser la fonction "non()" au lieu de "=0" si tu as envie.
Edit: cela donne If min(non(L1
xDreams le 02/04/2012 à 22:30
Ah ouais ! J 'ai toujours du mal au non()
sandro le 02/04/2012 à 23:14
non(A) renvoie 1 si A=0, et 1 dans tous les autres cas (je rapelle que le If réagit à des 0 ou autrechose et non a des vrai-faux sur TI82stats : une (in)égalité ne fait que renvoyer des 0 ou 1.

Sandro
Persalteas le 02/04/2012 à 23:35
Citation
Je ne savais pas que la ti83+ supportait la dimension zéro


ça marche même avec les chaines de longueur zéro.

c'est un problème de compatibilité souvent dur a détecter...
xDreams le 03/04/2012 à 20:03
Ok merci pour vos réponses happy.gif


EDIT:

A partir de la dimension 427 jusqu'à 999, j'ai un beau ERREUR: MEMOIRE qui s'affiche...

Petie explication svp ?! minied.gif
sandro le 03/04/2012 à 21:42
dit moi, il te reste combien de ram libre?
xDreams le 03/04/2012 à 21:53
7806 ko sans les listes... Donc j'imagine que sa pèse lourd !
sandro le 03/04/2012 à 22:02
normalement, une liste de 999 termes c'est à peu près 9000 octés (peut-être une dizaine de plus)
xDreams le 03/04/2012 à 22:32
Je suis à 10000ko et toujours l'erreur :/
sandro le 03/04/2012 à 22:38
bizzard, là il ne devrait pas y avoir de problème, tu utilise bien une liste unique (et pas 2 différentes)?
xDreams le 03/04/2012 à 23:06
Oui, j'ai essayé ton code , c'est celui là qui fait l'erreur et celui de link ne fait rien...