OdiN Le 26/09/2003 à 15:19 Par exemple
Jai une liste du type {"Partie 1","Partie 2","Partie 3"}
Et je voudrais supprimer le deuxiéme élément de la liste pour avoir
{"Partie 1","Partie 3"}
J esais que c tout con mais j'arrive pas
Maerci d'avance
augment(left(a,1),mid(a,3))->a?
OdiN Le 26/09/2003 à 16:20 /1 tu peux expliciter pour un qui connait pas grad chose ?
Non car la solution de Nerick est bien mieux.
Regarde dans le manuel la doc des fonctions utiliées par Nerick.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
en général, si i c le rang de l'élément à supprimer dans la liste a tu fais:
augment( left(a,i-1) , right(a,dim(a)-i) ) -> a

Qu'il est beau ce chien !!! :)
Zeph Le 26/09/2003 à 18:46 La solution de Nerick est la meilleure, right t'oblige à calculer la dimention de la liste, donc c'est plus lent.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
En C vous n'aurez pas une astuce la plus rapide?
Je pense qu'avec un seimple memmove ça suffit?
Il ne faut pas utiliser les listes chainées sur TI ça fragmente le heap ©

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Et si tu ne connais pas le nombre d'éléments à décaler?
On stocke le nombre d'éléments dans une variable séparée.
Zeph Le 27/09/2003 à 16:39 Etant donné que les listes ne font que 64ko maximum, comme n'importe quelle autre variable Ti, il aurait été plus économique de créer un format qui pourrait se présenter comme ça :
- Nombre d'elements dans la liste (2 octets), noté N
- Offsets relatifs des elements (2 * N octets)
- Les elements eux-même (X octets)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ça consommerait plus de mémoire. Le format de TI minimise la consommation de mémoire.
Zeph Le 27/09/2003 à 16:48 Oui c'était pour répondre au problème de la vitesse des listes Ti-Basic, insoluble autrement. Les listes chainées sur Ti, c'est pas vraiment la technique à adopter quand on a besoin de vitesse.
Mais étant donné la vitesse du basic, à part pour des grandes listes (> 100 elements), la lenteur de la lecture n'est pas vraiment un problème.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Essaie ceci :
local a,b,liste1,liste2
{"Partie 1","Partie 2","Partie 3"}->liste1
1->b
for a,1,dim(liste1)
if liste1[a]=/="Partie 2" then
liste1[a]->liste2[b]
b+1->b
endif
endfor
liste2->liste1
Et si ça marche pas, venez pas gueuler, c'est dur de réfléchir sans la calto :-(
(=/= : différent, égale barré)
Avant, je roulais en Ti-Basic, une 4L, puis j'ai découvert flib, une Peugeot 205, pour finalement découvrir vertel (une Renault Safrane)... Pour finir en C (Bentley Arnage) ?
En attendant, je parcours le monde sur un Yoshi...
Zeph Le 09/10/2003 à 16:52 Ouch... C'est ultra-lent comme méthode ça. Utiliser augment est bien plus rapide, pour le coup.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ah ? Euh... Oui bon...
En fait, c'est ce que j'utilise quand je veux virer un musico dans mon jeu 'Rock star ate my hamster'... J'affecte la valeur pi à un truc de la liste, puis je fais un test. Étant donné qu'il n'ya pas plus de 4 membres dans le groupe de zik, ça ne me posait pas pb... :-(((
Avant, je roulais en Ti-Basic, une 4L, puis j'ai découvert flib, une Peugeot 205, pour finalement découvrir vertel (une Renault Safrane)... Pour finir en C (Bentley Arnage) ?
En attendant, je parcours le monde sur un Yoshi...
J'ai failli dire à X240-185X , aussi que seq() est la seule et bonne solution pour les listes y'en a pas d'autre!
Dailleurs je me suis fais un petit truc pour supprimer et ajouter des élément dans une matrice o une liste(me souvient plus c'est pareil ); je balancerai quand j'aurai ma calc; ça tient en 2 ou 3 lignes.
suppression des élément d'une liste de debut à fin
augment(left(list,debut-1),mid(list,fin+1))->listdel(list,debut,fin)
insertion d'une liste list1 à la position ins
augment(augment(left(list,ins-1)),list1),mid(list,ins))->listins(list,list1,ins)
Oui bon. D'accord.
Au fait, appelez-moi 240-185, car les X c'est juste pour que le pseudo soit vailde ;-p
Avant, je roulais en Ti-Basic, une 4L, puis j'ai découvert flib, une Peugeot 205, pour finalement découvrir vertel (une Renault Safrane)... Pour finir en C (Bentley Arnage) ?
En attendant, je parcours le monde sur un Yoshi...