π
<-
Chat plein-écran
[^]

[Mini-Challenge #13] : DelVoid

Sous-forums réunissant les mini-challenges en TI-Basic Nspire

[Mini-Challenge #13] : DelVoid

Message non lude Adriweb » 29 Sep 2014, 00:32

Je viens de penser à ceci sans raison apparente (quoique, Bisam a parlé de ça quelque part récemment, donc...), mais ça me parait suffisamment challengesque... :P

Rappel : voici la fonction delVoid(...) : "Returns a list that has the contents of List1 with all empty (void) elements removed"
Avec un screenshot vous comprendrez vite : (void et _, c'est pareil)
Image

Normal mode :
Ré-implementer delVoid(...).

Hard mode :
Ré-implementer delVoid(...)... sans utiliser la fonction isVoid(...).
A vrai dire, je n'ai pas essayé - je ne sais meme pas si c'est possible, on verra bien :)

C'est un "code golf", donc le code le plus court gagne.

GL HF :D
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.3%
 
Messages: 14617
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge #13] : DelVoid

Message non lude esum » 29 Sep 2014, 06:08

Voici ma proposition pour le Hard mode: 84 caractères entre le Func et le EndFunc (compris) sans compter les espaces en début de ligne et les retours à la ligne:

Code: Tout sélectionner
Define delvoid2(l)=
Func
Local i,r
r:={}
For i,1,dim(l)
  If string(l[i])≠"_"
    r:=augment(r,{l[i]})
EndFor
EndFunc


EDIT: Corrigé le ≠, merci Adriweb.
Dernière édition par esum le 29 Sep 2014, 09:02, édité 1 fois.
Avatar de l’utilisateur
esum
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 76%
 
Messages: 2
Inscription: 04 Sep 2014, 20:42
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: MPSI

Re: [Mini-Challenge #13] : DelVoid

Message non lude critor » 29 Sep 2014, 06:39

Bien :)

Voici il me semble un tout petit peu plus court:
Image
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.6%
 
Messages: 41501
Images: 14719
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: [Mini-Challenge #13] : DelVoid

Message non lude Adriweb » 29 Sep 2014, 06:44

Ah bah oui, zut, j'aurais surement du interdire la comparaison avec le string, je cherchais plus troll que ca :P Mais bien trouvé :)
Bref, tant pis pour moi, on verra pour une version plus complexe plus tard.

Sinon, @esum : tu veux dire "≠" au lieu de "=" non ?
@critor : Hum, du coup, code identique a esum ? (Faut que j'aille dormir, j'arrive plus a lire :P)

Edit : avec la meme idee que vous, j'arrive a faire quelques caracteres de moins.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.3%
 
Messages: 14617
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge #13] : DelVoid

Message non lude critor » 29 Sep 2014, 09:16

Adriweb a écrit:@critor : Hum, du coup, code identique a esum ? (Faut que j'aille dormir, j'arrive plus a lire :P)


esum a dû éditer entre temps, car il n'utilisait pas le string() ce matin mais un charCode().
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.6%
 
Messages: 41501
Images: 14719
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: [Mini-Challenge #13] : DelVoid

Message non lude Excale » 29 Sep 2014, 11:31

Sans string (ou assimilé), certitude (ou assimilé) ni tentative de réduire la taille (ou assimilé):

Code: Tout sélectionner
Define delvoid2(l)=
Func
Local i,r
r:={}
For i,1,dim(l)
  r:=ifFn(l[i]=0 or true,augment(r,{l[i]}),0,r)
EndFor
EndFunc
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: [Mini-Challenge #13] : DelVoid

Message non lude esum » 29 Sep 2014, 16:43

Oui j'ai édité mon code rapidement quand j'ai remarqué que je pouvais économiser 4 caractères en comparant le string directement.

@Excale bien vu pour le IfFn.
Avatar de l’utilisateur
esum
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 76%
 
Messages: 2
Inscription: 04 Sep 2014, 20:42
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: MPSI

Re: [Mini-Challenge #13] : DelVoid

Message non lude Bisam » 29 Sep 2014, 17:47

Le "ifFn" n'est qu'anecdotique... Ce qui est bien vu, c'est le l[i]=0 or true qui est toujours vrai, sauf lorsque l[i] est "void", auquel cas, il est considéré comme "undef" dans le "ifFn".
Celui-là, il fallait le trouver !
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: [Mini-Challenge #13] : DelVoid

Message non lude Adriweb » 29 Sep 2014, 18:00

Voila ! c'est ce genre de trollerie que j'attendais - ou une "Excalerie", devrais-je l'appeler :P

GG :)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.3%
 
Messages: 14617
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge #13] : DelVoid

Message non lude Adriweb » 01 Oct 2014, 20:05

Excale est a 85 caracteres, Critor a 84 :P
Qui dit mieux ? ^^
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.3%
 
Messages: 14617
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Suivante

Retourner vers Mini-Challenges

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1365 utilisateurs:
>1353 invités
>7 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)