Procédure affichage mode de passage "Pascal"

Fermé
saifanov Messages postés 1 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 12 juin 2012 - 12 juin 2012 à 15:34
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 12 juin 2012 à 16:17
Bonjour,

Program Seif;
Uses Wincrt;
Type
Tab=array[1..100] Of String;
Var
T:Tab;
N:Integer;

Procedure Saisie (Var N:Integer);
Begin
Repeat
Writeln ('Entrer La Dimension Du Tableau');
Readln (N);
Until (N>=2) And (N<=20);
End;

Procedure Saisie_Tab (N:Integer ; Var T:Tab);
Var
i:Integer;
Begin
For i:=1 To N do
Begin
Repeat
Writeln ('Entrer T[',i,']');
Readln(T[i]);
Until (length(T[i])<=20) And (T[i]<>'') And ((Pos(' ',T[i]))<>0);
End;
End;

Procedure Affichage (N:Integer ; T:Tab);
Var
i:Integer;
Begin
For i:=1 To N Do
Write(T[i],' ');
End;

Begin
Saisie (N);
Saisie_Tab (N,T);
Affichage (N,T);
End.

le probléme ici , il m'affiche un erreur de type run-time 202 lorsque j'ajoute var avant T:tab dans l'entéte du procédure affichage le probléme est reglé mais je veux une explication car normalemnt le tableau dans l'affichage doit passé par valeur car on ne change pas le contenu de tableau , seulement on veux l'afficher . svp me réponds et merci d'avance
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
12 juin 2012 à 16:17
Runtime Error 202 : Stack overflow error (cf. Google)

Cependant je ne vois pas d'erreur dans ce code, même en le testant, à part peut-être la condition (Pos(' ',T[i]))<>0 qui oblige à commencer la chaîne par un espace...

Tu peux t'aider d'un IDE d'apprentissage comme IPCute, pour voir au fur et à mesure de ton programme quels sont les appels faits...
0