Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  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 :
    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 :
    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 :
    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 :
    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
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations forums :
    Inscription : juin 2006
    Messages : 919
    Points : 375
    Points
    375

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •