Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ada
Ada Forum d'entraide sur la programmation en langage Ada
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2012, 14h08   #1
Invité de passage
 
Femme
Étudiant
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 0
Points : 0
Par défaut tableaux non-contraints problème

Bonjour,

Je dois concevoir un programme qui crée des tableaux de tailles différentes : c'est-à-dire qu'on entrera la taille d'un tableau, puis on l'initialisera à chaque fois. J'ai pensé aux tableaux non-contraints, mais je n'arrive pas à les implanter, voici mon code :

Code :
1
2
3
4
5
6
7
8
tab is array(integer range <>) of integer;
N:integer;

composition is
record
numero:integer;
contenu:tab(1..N);
end record;
->à chaque fois le compilateur me retourne "N may be referenced before it has a value".

Merci d'avance.
revy7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 10h44   #2
Membre confirmé
 
Avatar de Blackknight
 
Homme Frédéric Praca
Ingénieur développement logiciels
Inscription : février 2009
Messages : 140
Détails du profil
Informations personnelles :
Nom : Homme Frédéric Praca
Âge : 38
Localisation : France, Seine Maritime (Haute Normandie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2009
Messages : 140
Points : 226
Points : 226
Envoyer un message via AIM à Blackknight Envoyer un message via MSN à Blackknight
Code :
N may be referenced before it has a value
Le message est clair, tu spécifies une variable de type tableau dont les bornes ne sont pas connues à la création, ça ne peut pas fonctionner.
Au moment où tu écris
N doit être initialisé.
Ici, comme tu veux l'utiliser dans un enregistrement, regardes du côté des enregistrements avec discriminant dans cette page ou directement dans l'ARM dans la section traitant des discriminants.
Normalement, tu y trouveras ton bonheur... D'ailleurs, c'est sûr

Mais je n'en dirai pas plus, j'ai l'ipmpression que c'est pour un devoir
Blackknight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2012, 20h13   #3
Membre du Club
 
Sebastien
Inscription : janvier 2011
Messages : 76
Détails du profil
Informations personnelles :
Nom : Sebastien

Informations forums :
Inscription : janvier 2011
Messages : 76
Points : 50
Points : 50
oui le tableau doit être initialiser
kirua99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2012, 21h48   #4
Membre confirmé
 
Inscription : juin 2006
Messages : 649
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : juin 2006
Messages : 649
Points : 276
Points : 276
Citation:
Envoyé par revy7 Voir le message
Bonjour,

Je dois concevoir un programme qui crée des tableaux de tailles différentes : c'est-à-dire qu'on entrera la taille d'un tableau, puis on l'initialisera à chaque fois. J'ai pensé aux tableaux non-contraints, mais je n'arrive pas à les implanter, voici mon code :

Code :
1
2
3
4
5
6
7
8
tab is array(integer range <>) of integer;
N:integer;

composition is
record
numero:integer;
contenu:tab(1..N);
end record;
->à chaque fois le compilateur me retourne "N may be referenced before it has a value".

Merci d'avance.
C'est pas écrit avec Ada !
pseudo-techniquement tu as bien déclaré N.
jovalise est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/03/2012, 08h44   #5
Membre confirmé
 
Avatar de Blackknight
 
Homme Frédéric Praca
Ingénieur développement logiciels
Inscription : février 2009
Messages : 140
Détails du profil
Informations personnelles :
Nom : Homme Frédéric Praca
Âge : 38
Localisation : France, Seine Maritime (Haute Normandie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2009
Messages : 140
Points : 226
Points : 226
Envoyer un message via AIM à Blackknight Envoyer un message via MSN à Blackknight
Citation:
C'est pas écrit avec Ada !
Il manque effectivement quelques type, j'étais complètement passé à côté
Blackknight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2012, 00h06   #6
Invité de passage
 
Homme
Inscription : avril 2012
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 5
Points : 1
Points : 1
Et si tu paramétrais ton type composition ?

Code :
1
2
3
4
5
6
type tab is array(integer range <>) of integer;

type composition(N : integer) is record
   numero:integer;
   contenu:tab(1..N);
end record;
Sigurd9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h05.


 
 
 
 
Partenaires

Hébergement Web