1

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

2

Je ne pense pas que le BASIC te permette de faire ça en une instruction. En tout cas, si c'est possible, je ne connais pas cette instruction.
En attendant, tu peux toujours utiliser une technique bourrine : déplacer tous les éléments qui suivent d'un cran vers la gauche.
Sinon, tu peux avoir une solution moins coûteuse en utilisant des listes chaînées tritop
avatar
« 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. »

3

augment(left(a,1),mid(a,3))->a?

4

/1 tu peux expliciter pour un qui connait pas grad chose ?

5

Non car la solution de Nerick est bien mieux.
Regarde dans le manuel la doc des fonctions utiliées par Nerick.
avatar
« 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. »

6

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
avatar
Qu'il est beau ce chien !!! :)

7

La solution de Nerick est la meilleure, right t'oblige à calculer la dimention de la liste, donc c'est plus lent.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

8

En C vous n'aurez pas une astuce la plus rapide?
Je pense qu'avec un seimple memmove ça suffit?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

Index » Forum TI » Basic TI (7r)

Remarque peut-être que tu suggerais de traiter le problème en C, mais si même pour ça on fait une lib... Et puis bonjour la fonction, il faudrait qu'elle utilise next_expression_index() comme le basic, et donc on ne gagnerait pas grand chose.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

en C on aurait utilisé une liste chainée (cf ./2)

11

Il ne faut pas utiliser les listes chainées sur TI ça fragmente le heap ©
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

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

12

ah c'est sur que si t'alloues chaque élément au fur et a mesure bon.. mais ya moyen de se démerder autrement
copyright qui au fait? smile

13

KK wink
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

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

14

kel questionroll
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

15

Nerick :
en C on aurait utilisé une liste chainée (cf ./2)

Non, on aurait utilisé un tableau (de pointeurs dans ce cas, vu qu'on a des chaînes de caractères) et memmove.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Et si tu ne connais pas le nombre d'éléments à décaler?

17

On stocke le nombre d'éléments dans une variable séparée.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

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)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

19

Ça consommerait plus de mémoire. Le format de TI minimise la consommation de mémoire.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

20

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.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

21

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

22

Ouch... C'est ultra-lent comme méthode ça. Utiliser augment est bien plus rapide, pour le coup.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

23

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

24

Oui pour 4, mais essaye sur une liste de 100 élements, tu vas la sentir la différence grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

25

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.

26

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)

27

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