IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Free Pascal Discussion :

Matrices [Free Pascal]


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut Matrices
    Bonjour,

    je voudrais savoir comment faire pour sortir d'une boucle si la matrice est vide (qu'elle ne contient plus rien). Elle contient seulement des char 'x' et rien d'autre que des espaces vides. Je fais le jeu de la vie et je doit faire cela.

    Quelqu'un pourrait m'aider ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    VAR
    	matrice1: T_CASE;
    	matrice2: T_CASE;
    	idx:integer;
    BEGIN
    	idx:=1;
    	lire(matrice1);
    	while idx = 1 do begin
    		calculvoisin(matrice1,matrice2);
    		             //if matrice2 = ' ' then       Es-ce possible d'une autre 
    			     //idx:=0;                        façon?
    		ecrire(matrice2);	
    		transmettre(matrice1,matrice2);
     
    	end;
    	writeln;
    	writeln;
    	write('Appuyer sur <Enter> pour quitter');
    END.
    Ça c'est le main de mon programme.

    Puis j'ai une autre petite question : qu'ai-je fait de mal là-dedans ? Car la matrice1 ne remplace pas ses données par celles de la matrice 2. Et puis comment réinitialiser toutes les données de la matrice2 à rien après qu'il les ait transmises à la matrice1 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure transmettre(matrice2:T_CASE; var matrice1:T_CASE);
    var
    	x,y:integer;
    begin
    	for y:=1 to LIM_CASEy do begin
     
    		for x:=1 to LIM_CASEx do
    			matrice1[x,y] := matrice2[x,y];
     
     
    	end;
    	readln;
    Merci!
    --Koliter--

  2. #2
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if matrice2 = ' ' then       // Es-ce possible d'une autre 
    idx:=0;       // façon?
    Oui en sortant de la boucle avec l'instruction Break.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    While True do
      begin
        if matrice2 = ' ' then
          Break;
      end;
    u'ais-je fait de mal la dedans? Car la matrice1 ne remplace pas ses données par celles de la matrice 2?
    Tu redéfini les variables matrice1, matrice2 en local dans ta procédure. Tu n'effectue donc tes modifications qu'en local...

    et puis comment reinitialiser toutes les données de la matrice2 a rien?
    Par exemple en utilisant FillChar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      FillChar(matrice2, SizeOf(matrice2), ValeurDeRemplissage);

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut
    Enfait, cest vraiment cela que je ne suis pas capable de déclarer et non le break. C'est lorrque la matrice est vide, qu'il n'y a plus de x, qu'elle doit se fermer, alors le if doit reussir a comprendre qu'il n'y a plus de 'x' dans la matrice, es-ce possible? -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if matrice2 = ' ' then
    break;
    Tu redéfini les variables matrice1, matrice2 en local dans ta procédure. Tu n'effectue donc tes modifications qu'en local...
    Daccord, alors comment puis-je faire pour les redéfinir? car j'utilise le var devant la matrice1 lors de ma procedure? alors elle ne devrait pas seulement etre déclarer local?

    Merci
    --Koliter--

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut
    C'est correct j'ai trouver la solution a tout mes problèmes!!

    Bonne journée et merci encore
    --Koliter--

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4
    Par défaut
    question!
    svp,Est ce qu'on doit construire une procédure de lecture pour chaque type de tableaux ? (les procédures sont déclarées dans une biblio)

    Merci d'avance!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 14h15
  2. [CR] entête et pied sur page 1/B de matrice
    Par chloe.j3 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 04/09/2002, 12h07
  3. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44
  4. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo