Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » matrice qui bugue
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

matrice qui bugue

Posté le 25/04/2013 22:41

J'ai un problème bizarre avec un matrice.
Dans mon programme principal, je dimensionne une matrice B de 18 lignes et 2 colonnes.
Dans un sous-programme, je met l'équivalent de Mat B [1;2] et ça ne marche pas (erreur dimension). Après avoir fait plusieurs tests et finalement jeté un coup d’œil dans la liste des matrices, je me rends compte que mes matrices sont passées à 1 colonne au lieu de 2.
Notez que cela n'est pas dû à une instruction d'un autre programme.
Quelqu'un a une explication ?



Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 25/04/2013 23:14 | #


Fais voir ton code.
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 26/04/2013 07:52 | #


Fais une recherche dans tous tes programmes pour voir si tu n'initialises pas la Mat B ailleurs :
A rechercher a écrit :
Dim Mat B

Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 26/04/2013 10:19 | # | Fichier joint


@ Totoyo : Non, comme je viens de le dire, ce n'est par une instruction d'un autre programme car j'ai testé plusieurs fois sans avoir lancé autre chose

@ Ninestars : Je le mets en fichier joint. l'erreur se produit dans le programme "initial"
Tenmatx Hors ligne Membre Points: 996 Défis: 2 Message

Citer : Posté le 26/04/2013 12:03 | #


Il y a deux erreurs :

1.Après avoir dimensionner Mat B[18,2], tu a écris[[6,9,8,7,4,4,4,4,3,3,3,3,0,0,0,0,10,76]]->Mat B
La matrice B aura donc changé de dimensions : elle n'a plus qu'une ligne et 18 colonnes.

2.Mat B[3,List 3[2]] : la valeur numéro 2 de la liste 3 est un 3. Donc ça dépasse de la matrice.

Je ne peut pas te dire comment les corriger puisque je ne sais pas comment fonctionne ton jeu.

Ajouté le 26/04/2013 à 12:07 :
Je crois que tu t\'es emmêlé les pinceaux. Quelles doivent être les dimensions de la matrice B ?
Un peu plus loin dans le code je trouve : Mat B[1,13] Mat B[1,14] Mat B[1,15] et Mat B[1,16]. Alors qu\'au départ tu écris {18,2} ->Dim Mat B.
Et il y a aussi plein de retours à la ligne inutiles.
Mes programmes de maths
Mes programmes de maths

Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Mes meilleurs jeux
Mes meilleurs jeux

Jeu gagnant des 48h CPC n°12

Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 26/04/2013 12:30 | #


1) Je voulais affecter des valeurs à la première colonne de la matrice, la deuxième est déjà affectée à 0 grâce à Fill. Mais je ne savais pas que remplir une seule colonne annulais la seconde. Du coup j'ai trouvé le problème !

2) J'ai dû inverser la ligne et la colonne.(à cause des tests que j'ai effectué)...normalement c'est la (list3[3])e ligne de la 2e colonne.

Quant à Mat B[1,13], Mat B[1,14] etc., j'ai dû là encore inverser la ligne et la colonne. Les retours à la ligne, c'est juste pour laisser de la place afin de taper le reste du code
Tenmatx Hors ligne Membre Points: 996 Défis: 2 Message

Citer : Posté le 26/04/2013 16:07 | #


T'es pas obligé de laisser de la place. Tu pourras toujours rajouter autant de code que tu veut sans avoir mis de retours à la ligne à l'avance.
Mais si c'est un moyen pour te rappeler où est ce que tu dois rajouter du code c'est une bonne idée.
Mes programmes de maths
Mes programmes de maths

Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Mes meilleurs jeux
Mes meilleurs jeux

Jeu gagnant des 48h CPC n°12

Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 26/04/2013 16:22 | #


Oui, et ça me permet aussi d'"aérer" quand je tape devant un morceau de code. Du coup ça fait ça :

[morceau de code 1]
[ligne de code que je suis en train de taper](curseur)
<-
<-
<-
[morceau de code 2]


Parce que sinon ça fait ça :

[morceau de code 1]
[ligne de code que je suis
en train de taper](curseur)[morceau de code 2]

Je suis du genre à faire mes programmes dans le désordre
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 26/04/2013 16:23 | #


Bah en même temps c'est impossible de taper un programme d'un seul coup sans revenir en arrière!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 26/04/2013 16:41 | #


Ouais mais c'est pas seulement pour la correction ou l'ajout de morceaux de code, c'est aussi une façon de s'organiser (notamment pour les boucles et les conditions : personnellement, je préfère les fermer d'abord puis y taper les instructions, donc forcément il y'a les if end, while end, loopwhile et next qui gènent).
Tenmatx Hors ligne Membre Points: 996 Défis: 2 Message

Citer : Posté le 26/04/2013 16:49 | #


Moi aussi j'écris toujours If, Then, Else et IfEnd avant d'avoir écrit le contenu de la condition. Sinon après j'oublie.
Mes programmes de maths
Mes programmes de maths

Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Mes meilleurs jeux
Mes meilleurs jeux

Jeu gagnant des 48h CPC n°12

Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 206 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