p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2012
    Messages : 13
    Points : 1
    Points
    1

    Par défaut Problème avec les enregistrements

    Bonjour,

    Je voudrais créer un solver de sudoku mais j'ai un petit soucis avec les enregistrements que je n'ai pas encore vu en cours. C'est pour cela que je demande votre aide.

    Tout d'abord je crée deux tableaux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     TYPE Tplateau IS ARRAY (1..9,1..9) of integer;-- plateau du sudoku
       TYPE TTabPlateau IS ARRAY (1..2000) OF Tplateau;
    Et ensuite l'enregistrement qui représente la frontière du sudoku :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TYPE TFrontiere IS RECORD
          T : TTabplateau;
             Last : Integer;
         END RECORD;
    Mon problème est que je dois créer une procédure avec: FR {D/R} : TFrontiere; P {D} TPlateau
    --prerequis : Fr non vide
    -- action : retourne dans P le dernier Plateau ajouté à Fr et met a jour Fr
    Ce qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    PROCEDURE Pop ( Fr : IN OUT TFrontiere; P : OUT TPlateau) IS -- utilisation de la fonction vide qui retourne vrai si Fr est vide
    
          frvide:Boolean;
    
       BEGIN
          frvide:=Vide(Fr);
          IF frvide=false THEN:=Fr.T
             P:=Fr.T(last);
             Fr.Last:=Fr.Last+1;
             Ajoute(Fr,P);
          end if;
       END Pop;
    Voici la procédure Affiche qui doit ajouter P à F

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE Ajoute (Fr : IN OUT TFrontiere; P : IN TPlateau ) IS
    
       BEGIN
         fr.T(fr.last):=p;
       END Ajoute;
    Je n'ai aucune erreur lors de la compilation mais je ne suis pas sur de la validité de ma procédure, de plus je n'arrive pas à afficher tout les plateaux car j'obtient une grosse erreur lors de la compilation.

    Merci d'avance pour votre aide

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    1 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45

    Informations forums :
    Inscription : juin 2006
    Messages : 1 127
    Points : 393
    Points
    393
    Billets dans le blog
    2

    Par défaut

    Bonjour, c'est quoi l'erreur à la compilation ?
    Parce que ligne 7 de pop, il manque une opérande après le then

Discussions similaires

  1. Problème avec les jeux d'enregistrement dreamweaver
    Par maxbody dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 05/01/2011, 21h58
  2. [AC-2007] Problème avec les importations enregistrées
    Par Pierre Fauconnier dans le forum Access
    Réponses: 1
    Dernier message: 03/07/2010, 20h37
  3. problème avec les enregistrements
    Par bigmonstre dans le forum Débutant
    Réponses: 3
    Dernier message: 03/05/2010, 10h15
  4. [ADA83 -> ADA95] Problème avec les enregistrements
    Par julinho99 dans le forum Ada
    Réponses: 18
    Dernier message: 26/03/2008, 13h11
  5. Réponses: 1
    Dernier message: 25/11/2005, 11h43

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