Utiliser une procedure pour remplir un tableau en pascal
Résolu
pass
-
pass -
pass -
Bonjour,
pouvez vous me dire pourquoi mon programme n'affiche pas les mots merci,cordialement.
pouvez vous me dire pourquoi mon programme n'affiche pas les mots merci,cordialement.
Program fff;
Uses crt;
Type
X = array[1..5] Of string;
Var
tab : X;
i : integer;
Procedure remptab(mot:X);
Begin
mot[1] := 'XANTHINES' ;
mot[2] := 'AIRELLES' ;
mot[3] := 'TOUT ';
mot[4] := 'DEBUTANTS' ;
mot[5] := 'RENTIERES ';
End;
Begin
remptab(tab);
For i:= 1 To 5 Do
writeln(tab[i]);
End.
3 réponses
-
Bonjour,
Le tableau "mot" est passé par valeur en non par référence donc les modifications sont internes à la procédure. En sortie, le tableau retrouve sa valeur initiale.
Si on avait un passage par référence Procedure remptab(var mot:X); il en serait autrement.
Sans modifier votre passage de paramètres, il faudrait inclure la boucle For dans la procédure.
Sinon, il faut passer le tableau par référence.