Lire et accédé a un tableau de valeur énuméré

Lire et accédé a un tableau de valeur énuméré - Ada - Programmation

Marsh Posté le 22-09-2012 à 02:20:54    

bonjours je suis un novice en ada et après des Heurs de recherche sur le net et ouvrage je commence a me posé de réel question a propos de ceci :
 
Comment j'accède au donné contenue dans le tableau "Tcard" si valeur il y a ? je ne sais même pas si je suis sur une bonne ou mauvaise piste .  
 
Mon exercice est de créer un deck de carte avec des énumération puis de d'introduire les attribues des cartes dans un tableau en passant par un record puis de faire multiple opérations sur ce tableau mais voila je ne voie pas comment lire se tableau, que contient le tableau, que faire?  
 

Code :
  1. WITH aleatoire,Ada.Text_IO,Ada.Integer_Text_IO;
  2. USE aleatoire,Ada.Text_IO,Ada.Integer_Text_IO;
  3. PROCEDURE Shuffle IS
  4.    n:integer:=1;
  5.    TYPE Valeurs IS (Deux,Trois,Quatre,Cinq,Six,Sept,Huit,Neuf,Dix,Valet,Dame,Roi,AS);
  6.  
  7.    TYPE Couleurs IS (Coeur,Carreau,Pique,Treffle);
  8.  
  9.    SUBTYPE Nb_Card IS Integer RANGE 1..52;
  10.  
  11.    TYPE Card IS RECORD
  12.       Valeur:Valeurs;
  13.       Couleur:Couleurs;
  14.    END RECORD;
  15.  
  16.    TYPE Tcard IS ARRAY(Nb_Card) OF Card;
  17.  
  18.    Tab_Card:Tcard;
  19.  
  20.  
  21.    BEGIN
  22.    
  23.    --initialise
  24. for i in valeurs loop
  25.          for y in couleurs loop
  26.          Tab_card(N) := (I, Y);
  27.          n := n+1;
  28.          end loop;
  29.       END LOOP;
  30.      
  31. --c'est ici que je bloque comme lire tab_card? il y a til des valeurs dans Tcard? si oui les quel?
  32.       --put(item=> c'image);
  33.       --put(Tab(valeur'image(valeur'val(n)));
  34.   -- put(tab(n).valeur'image(tcard(n).valeur'val(n)));
  35.       END Shuffle;


Message édité par royJD le 22-09-2012 à 22:20:52
Reply

Marsh Posté le 22-09-2012 à 02:20:54   

Reply

Marsh Posté le 22-09-2012 à 17:15:52    

Bonjour,

 

Oui il y a des valeurs dans Tab_Card, par défaut aléatoire.
Pour avoir des valeur par défaut fixes, il suffi de rajouter des valeurs initiales dans un card.
Ton tableau comportera ainsi la même valeur dans toutes les cases.


Message édité par Profil supprimé le 22-09-2012 à 17:16:14
Reply

Marsh Posté le 22-09-2012 à 18:02:26    

En fait il manque l'as. C'est pour ça que c'est pas init.

Reply

Marsh Posté le 22-09-2012 à 22:22:31    

voila j'ai rajouté l'AS comment je fait pour accédé au valeur du tableau si il a été initialisé?
dsl je suis vraiment un débutant si la question parait stupide j'en suis navré.

Reply

Marsh Posté le 22-09-2012 à 23:28:45    

Tu as le rang du tableau qui te permet d'accéder aux éléments, et apres le point les deux attributs d'une carte.
 

Code :
  1. --
  2.      for I in Nb_Card'Range loop
  3.         Text_Io.Put_line(Item => "Image Nb : " & Integer'Image(I));
  4.         Text_Io.Put_Line("valeur:" & Valeurs'Image(Tab_Card(I).Valeur));
  5.         Text_Io.Put_Line("couleur:" & Couleurs'Image(Tab_Card(I).Couleur));
  6.      end loop;


Message édité par Profil supprimé le 22-09-2012 à 23:29:07
Reply

Marsh Posté le 23-09-2012 à 01:42:42    

Merci beaucoup c'est ce qu'il me fallais !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed