CREATION DE TABLEAUX ALPHA

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 22 févr. 2006 à 02:45
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 23 févr. 2006 à 13:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36178-creation-de-tableaux-alpha

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
23 févr. 2006 à 13:58
il parle de l'alias tableau je pense, mais c'est irréalisable de faire des alias dynamiques proprement avec mirc
pas mal ton truc, faudrait comparer avec les pseudo arrays sur sdb.org et la gestion de matrices de Kerrigan ici
bonne continuation
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
23 févr. 2006 à 13:35
euh de quel code tu parles ?
si tu parles du fait qu'il faille toujours preceder les noms des tableaux par le mot 'tableau' saches que je ne peux pas faire autrement, mirc ne reconnaissant bien evidemment pas les tableaux comme des 'variables'
Cela dit, il est rare de remplir un tableau de manière manuelle, la boucle est plus appropriée, et dans ce cas là, on n'ecrit plus 'tableau' qu'une seule fois ;-)
Mc_AbBeR Messages postés 301 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 février 2007
23 févr. 2006 à 12:46
Et il faut mettre le code à chaque fois que l'on veut faire un tableau ?! Pas bien sa :|
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
22 févr. 2006 à 13:58
en mirc:
tableau tablename[3]
tableau tablename[0] = 1
tableau tablename[1] = 2
tableau tablename[2] = 3

( j'aurai pu faire: tableau tablename[3] = < 1 , 2 , 3 > )

$tableau(tab,1) retourne bien 2...
Mc_AbBeR Messages postés 301 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 19 février 2007
22 févr. 2006 à 13:53
en c/c++ :
long tableName[3];
tableName[0] = 1;
tableName[1] = 2;
tableName[2] = 3;
là, tableName[1] retourne 2

Ton code n'est pas comme ça...
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
22 févr. 2006 à 10:00
disons que j'ai voulu reproduire la manière de procéder en c/cpp, donc c'est sur qu'un certain nombre de choses aurait pu être simplifié, et que tout n'est forcement pas très compréhensible pour les gens qui ne connaissent pas ce langage
Par exemple, j'aurai très bien pu faire commencer les tableaux a 1, mais j'ai choisis de les faire commencer a zero par soucis de ressembler aux tableaux du c
Et pour ton exemple, je ne peux pas stocker les donnéees dans une seule et même variable, sachant que les tableaux peuvent stocker des nombres, mais égalements des phrases entières
Apres j'ai aussi pensé a une méthode pour généraliser les tableaux a n dimensions, seulement, la "puissance" de mirc n'est de toute manière pas faite pour stocker des tableaux, ne serait-ce qu'a 3 dimensions, sachant qu'en plus rare sont les gens qui utilisent des tableaux à plus de 2 dimensions, même dans des langages plus évolués

Enfin bref, je sais que les tableaux peuvent dérouter au début, mais je pense que ça peut être un outil assez puissant, une fois qu'on en a bien assimilé le fonctionnement
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
22 févr. 2006 à 02:45
ça a l'air plutôt pas mal, assez interessant, mais pas très pratique
/tableau exemple[2][3] = < 1 , 2 , 3 , 4 , 5 , 6 >

déjà le temps de comprendre pourquoi tes $tableau(...) retournent un certain nombre :x

t'aurais p'tet pu faire un truc du style :
1-2-3|4-5-6
les | sont faits pour dire que c'est un retour à la ligne, ce qui te donne en fait :
1 2 3
4 5 6
perso je trouve ça plus parlant :)


Ca simplifierait également ton code, voici la preuve :
var %tableau = 1-2-3|4-5-6
;$1 : ligne et $2 : colonne
var %elementsdelaligne = $gettok(%tableau,$1,124)
;et donc on a :
var %casesouhaitee = $gettok(%elementsdelaligne,$2,45)
;soit plus directement en une ligne :
var %case = $gettok($gettok(%tableau,$1,124),$2,45)

ici, c'est plus logique, plus simple, et puis au moins la ligne 0 et la colonne 0 n'existent pas (ouais, ça perturbe légèrement dans ton exemple :D)

ce sont des sortes de matrices quoi :)

j'pense que t'aurais pu généraliser ça assez facilement à "n" dimensions
Rejoignez-nous