Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Accès par variable aux matrices et strings
Platypus Hors ligne Membre Points: 6 Défis: 0 Message

Accès par variable aux matrices et strings

Posté le 29/06/2016 12:23

Bonjour.
Bon, voilà, je suis nouveau sur le site et je n'ai peut-être pas suffisament cherché sur le forum pour trouver un topic pouvant m'aider, mais existerait-il des fonctions capables de remplacer ce que j'aurais fait naturellement par:

"Str n°"?→A
"ABC"→Str A (ou autre fonction en rapport avec le string que l'on aura choisi en donnant une valeur entière entre 1 et 20 à la variable A)

et

"Mat"?→Str 1 (si on rentre une lettre majuscule entre A et Z dans le Str 1)
3→Mat (Str 1)[1,1 (ou autre fonction en rapport avec la matrice que l'on aura sélectionnée en remplissant le Str 1)

Merci d'avance.


Zezombye En ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 29/06/2016 12:25 | #


Malheureusement non :/
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Lephenixnoir En ligne Administrateur Points: 22772 Défis: 149 Message

Citer : Posté le 29/06/2016 12:26 | #


Eh bien... non. Malheureusement, ni l'une ni l'autre n'existe. Str ne prend que des entiers. Il y a peut-être un moyen de contourner ça en exploitant des fn ou autre, mais d'autres membres le signaleront (je ne suis pas très calé là-dessus). Mat ne prend que des lettres (c'est pas du tout des Str), ça ne pourrait pas marcher de toute façon.
Programateur Hors ligne Membre Points: 222 Défis: 10 Message

Citer : Posté le 29/06/2016 14:04 | #


Pour les strings, peut être que cela peut t'aider :
http://www.planet-casio.com/Fr/forums/topic14345-1-Creer-une-liste-de-chaines-de-caracteres..html

Edit Lephenixnoir : J'ai corrigé le bug sur l'autolinking, pas besoin d'utiliser de balise url.
J'ai besoin de votre participation ici :
94%
Cliquer pour enrouler
Hackcell Hors ligne Maître du Puzzle Points: 1487 Défis: 11 Message

Citer : Posté le 29/06/2016 14:31 | #


J'avais vu un jeu une fois, ou l'on me demandai la liste que je voulais utiliser, mais je n'ai pas regardé le code, le jeu était en basic, il s'appelait mini rpg ou quelque chose dans ce genre.
Zezombye En ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 29/06/2016 14:52 | #


Ha oui mais la liste c'est possible d'utiliser une variable pour la déterminer, mais c'est pas possible pour les matrices et strings.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Platypus Hors ligne Membre Points: 6 Défis: 0 Message

Citer : Posté le 29/06/2016 14:54 | #


Oui, je sais qu'il est très bien possible de faire qqch de similaire avec les listes...
Par exemple, - "A"?→A
- 30→Dim List A, fonctionne...

Mais pourquoi pas le même principe avec les Str et matrices?
Lephenixnoir En ligne Administrateur Points: 22772 Défis: 149 Message

Citer : Posté le 29/06/2016 14:56 | #


Pour les Str, c'est simplement que l'interpréteur n'a pas cette fonctionnalité. Pour les matrices, c'est différent, parce qu'accéder à une matrice en utilisant une Str n'a pas de sens.

Edit : Pour préciser un peu, les variables entières (susceptibles de convenir à l'indexation des listes) sont des vrais entiers et ne suivent pas le même format que les nombres décimaux (voir l'erreur renvoyée par MOD() lorsque le paramètre est en notation exponentielle). Il est donc légitime de les utiliser. Il n'y a pas de format canonique pour les lettres dans le stockage des chaînes de caractères dont ce serait assez artificiel d'implémenter ça.
Platypus Hors ligne Membre Points: 6 Défis: 0 Message

Citer : Posté le 03/07/2016 19:44 | #


Bon, ok... Bah merci quand même à tous pour vos réponses !
Programateur Hors ligne Membre Points: 222 Défis: 10 Message

Citer : Posté le 07/07/2016 11:31 | #


Je sais pas si c'est envisageable, mais un programme comme ça peut fonctionner :


Do
"Mat"?→Str 1
StrSrc("ABCDEFGHIJKLMNOPQRSTUVWXYZ",Str 1)
LpWhile Not Ans
Prog "MAT"


avec comme sous programme MAT :


Ans=1⇒3→ Mat A[1,1]
Ans=2⇒3→ Mat B[1,1]
...
Ans=26⇒3→Mat Z[1,1]


Après tu peux toujours utiliser des variables pour adapter ton sous programme à pleins d'autres cas de figures !

J'ai besoin de votre participation ici :
94%
Cliquer pour enrouler

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 117 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd