Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation TI-Basic » supr dans une liste (28 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
IP2X Ecrit le: Dimanche 18 avril 2004 à 11:06 Déconnecté(e)    Voir le profil de IP2X Envoyer un email à IP2X Visiter le site WEB de IP2X Envoyer un message privé à IP2X  

Comment on peut faire pour supprimer dans une liste, c-a-d, supprimer tout les 2 dans mon exemple
{1,2,1,2,2,3,5,2}
pour obtenir
{1,1,3,5}

Merci de me répondre
IP2X

    
./Post n°1   Marquer comme non lu.
matth Ecrit le: Dimanche 18 avril 2004 à 12:41 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

Pour ma part, je passerai par une fonction défini ici:
:tri(a,b)    liste,taille de la liste,élément a supprimer
:fonc
:local x,y,b
:newlist(1)=>b
:1=>y
:for x,1,b
:if a[x]=/=b then
:a[x]=>b[y]
:y+1=>y
:return b


Je ne l'ai pas testé car je n'est pas ma calto a porté de main, mais sa devrai marcher ...
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°2   Marquer comme non lu.
Folco Ecrit le: Dimanche 18 avril 2004 à 13:24 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


oulala matth ta fonction , j'ai bien peur qu'elle ne produise pas grand chose de bon...
__________________________________________________
supr_elt(liste,element) ;liste et élément à supprimer
Func
Local a
{}->liste2
For a,1,dim(liste)
augment(liste2,when(liste[a]=element,{},{liste[a]}))->liste2
EndFor
EndFunc
__________________________________________________
Naturellement, c'est optimisé en place, mais pas en vitesse.

L'argumentation de la fonction est simple:
1->La liste à traiter
2->L'élément que tu veux supprimer

Le résultat (donc la nouvelle liste) est renvoyé dans la variable globale liste2

Il est aussi possible de traiter le problème par récurence, mais la TI fatigue vite dans ce genre de calcul (surtout pour les récursions profondes), et donc ta fonction ne marcherait que dans le cas de listes courtes.

EDIT: trompé dans l'orthographe de matth

-Edité le: Dimanche 18 avril 2004 à 13:27 par Martial Demolins-
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°3   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 13:24 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

c pa dur
=/= different de...



local a,toto2
{}->toto2
for a,1,dim(toto)
if toto[a]=/=2 then
toto[a]->toto2[dim(toto2)+1]
endif
endfor
{}->toto
copyvar toto2,toto

-Edité le: Dimanche 18 avril 2004 à 13:26 par G-Nocid-
    
./Post n°4   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 13:24 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

VOUS vous prenez la tete pour rien.
essaye la mienne tu va voir.
    
./Post n°5   Marquer comme non lu.
IP2X Ecrit le: Dimanche 18 avril 2004 à 13:27 Déconnecté(e)    Voir le profil de IP2X Envoyer un email à IP2X Visiter le site WEB de IP2X Envoyer un message privé à IP2X  

merci

Mais j'en ai trouvé une autre


Code:
{"moi",0,0,"moi",0,0}->list
SortA list

dim(list)->d
for i,1,d
if list[i]/=0 then
mid(list,i)->list
d->i
endif
endfor
IP2X

    
./Post n°6   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 13:29 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

c'est bizar ton truc mais si ca marche....
    
./Post n°7   Marquer comme non lu.
IP2X Ecrit le: Dimanche 18 avril 2004 à 13:31 Déconnecté(e)    Voir le profil de IP2X Envoyer un email à IP2X Visiter le site WEB de IP2X Envoyer un message privé à IP2X  

c'est de Vertyos
IP2X

    
./Post n°8   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 13:32 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

lol
    
./Post n°9   Marquer comme non lu.
Folco Ecrit le: Dimanche 18 avril 2004 à 13:47 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


ça va les chevilles G-Nocid?
T'es pas l seul à savoir pondre une fonction aussi bête en basic, alors calme-toi (j'avais déjà remarqué ça dans d'autre topic, sans rien te dire, mais là j'en ai marre).
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°10   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 14:09 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

ah bon, desolé, je remarque juste que tu fé un truc un peu complexe...
    
./Post n°11   Marquer comme non lu.
Folco Ecrit le: Dimanche 18 avril 2004 à 14:14 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Lol c'est pas grave je me suis un peu emballé dsl :)
Tiens au fait,je viens d'aller visiter ton site, je voulais savoir s'il était possible que tu distribues un de mes progs?
Si tu veux bien, on se retrouve sur l'irc du site en pv.
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°12   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 14:16 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

fo deja que je retrouve le lien pour l'irc mdr.
    
./Post n°13   Marquer comme non lu.
Folco Ecrit le: Dimanche 18 avril 2004 à 14:19 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


En haut à gauche de la page, rubrique "menu général"
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°14   Marquer comme non lu.
matth Ecrit le: Dimanche 18 avril 2004 à 15:21 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

#question# #question# #question# #question# ben elle a quoi de pas bien ma fonction ?? #question# #question# #question# #question#
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°15   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 15:27 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

j'ai pas dit qu'elle était pas bien.
    
./Post n°16   Marquer comme non lu.
matth Ecrit le: Dimanche 18 avril 2004 à 15:44 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

ben mettons que convertit en VB Windows, la mienne est la plus rapide
na !!
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°17   Marquer comme non lu.
kaz00 Ecrit le: Dimanche 18 avril 2004 à 15:52 Déconnecté(e)    Voir le profil de kaz00 Envoyer un email à kaz00 Envoyer un message privé à kaz00  

possible, je sais pas.
ya des truc sur leskel que je voudrais que tu m'eclaire.


:tri(a,b) liste,taille de la liste,élément a supprimer
:fonc
:local x,y,b
:newlist(1)=>b
:1=>y
:for x,1,b
:if a[x]=/=b then
:a[x]=>b[y]
:y+1=>y
:return b

si j'ai bien compris, tri=nom de la list, a=dim(list), b = 2 puisk il veut virer 2.
pkoi le for va juska a 2?, il devrait aller juska a nan?
    
./Post n°18   Marquer comme non lu.
Folco Ecrit le: Dimanche 18 avril 2004 à 16:53 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


La fonction de matth est fausse.
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°19   Marquer comme non lu.
Vertyos Ecrit le: Lundi 19 avril 2004 à 14:08 Déconnecté(e)    Voir le profil de Vertyos Envoyer un email à Vertyos Visiter le site WEB de Vertyos Envoyer un message privé à Vertyos  

hmm sinon t'as aussi :

prgm(l,d) // l : liste, d : element à supprimer
local i,o
vertel("test","#l",d,"","retr","o")
for i,dim(o),1,-1
augment(left(l,o[i]-1),mid(l,o[i]+1))->l
endfor
// ici la liste ne contient plus "d"
endprgm

elle a l'inconvenient d'utiliser Vertel, mais devrait être largement la plus rapide dans le cas où il y a peu d'élements à supprimer.

[edit] même pb que sur yAronet, la fonction qui parse le UBB est foireuse, cf bug repport.

-Edité le: Lundi 19 avril 2004 à 14:10 par Vertyos-
Membre de [ yAronet ] ^^
(et de [ 3l33t ] aussi, mais chut, coté obscur toussa...)
    
  :: Index » Forum Ti68K » Programmation TI-Basic » supr dans une liste (28 réponse(s))
Pages : 1/2     « [1] 2 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 53.47ms avec 18 requetes