Bonjour,
je tombe sur un problème de programmation qui semble pourtant très simple. Il y a certainement une solution évidente qui m'échappe malheureusement.
Il serait trop difficile d'expliquer le contexte et le programme compliqué et volumineux dans son ensemble. J'ai donc mis la question sous une forme réduite au maximum, de telle sorte qu'elle soit posée comme "un cas d'école" :
Il faut savoir qu'un nombre important d'array sont déclarés avec des noms divers.
A certain point du déroulement du programme, on veut d'afficher à l'écran la valeur numérique de l'élément de rang 4 (par exemple) de l'array dont le nom est entré au clavier par l'utilisateur.
La question ne porte pas sur la vérification de l'existence, ou non, de l'array dont l'utilisateur donne le nom.
Voilà comment la vraie question se pose :
Si l'utilisateur a entré par exemple : Vect, il faudrait que l'instruction soit : writeln(Vect[4]) , car l'array Vect existe. Mais cette instruction correcte ne peut pas être écrite en programme, puisqu'on ne sait pas à l'avance quel sera le nom entré au clavier par l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var S:string; { ... déclaration des différents array de real ... } begin { ... partie initiale dans laquelle les valeurs numériques des éléments des différents array sont calculées ... } write('Tappez le nom de l''array : '); readln(S); writeln(S[4]); {cette syntaxe ne marche évidemment pas car il n'existe pas d'array dont le nom serait S}
Comment faire ?
Partager