bonjour tlm,

dans le cadre de ma formation (j'en suis qu'a mes débuts) je dois faire le programme suivant:

(je poste l'énonce pour que vous puissiez mieux comprendre)

"Remplir un tableau, de 10 entiers strictement positifs, par des valeurs lues, puis afficher ce tableau.
Compléter, si nécessaire, les éléments manquant du tableau, par une valeur "vide" (-1).

ExoSerie3Ok.Exercice5
ExoSerie3.Exercice5
Données*de*test:

(11 4 1 2 3 10 1 13 8 30)
(7 2 1 2 3 4)
(22 5 1 2 3 5 5 5 5 4 5 10)"


et mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PROCEDURE Exercice5*;
 
VAR tableau : ARRAY nMax OF INTEGER;
VAR i : INTEGER;
 
BEGIN (*Exercice5*)
 
In.Open;
Out.Open;
 
FOR i:=0 TO nMax -1  DO
 
	IF  In.Done = TRUE  THEN
		In.Int(tableau[i]);
		Out.String("Indice     ");
		Out.Int(i,0);
		Out.String("  valeur     ");
		Out.Int(tableau[i],0);
		Out.Ln;
	ELSE
		tableau[i]:=-1;
		Out.String("Indice     ");
		Out.Int(i,0);
		Out.String("  valeur      ");
		Out.Int(tableau[i],0);
		Out.Ln;
	END;
 
END;
 
END Exercice5;

Mon problème

le programme marche parfaitement pour la première et la dernière suite mais dans la deuxième suite il m'affiche le suivant:

7 2 1 2 3 4 0 -1 -1 -1


alors qu'il n'y a aucun 0 dans la suite que l'on lit ce 0 devrait etre un -1.

je vois vraiment pas ou est le soucis dans mon code

En espérant que vous puissiez m'aider...

je vous remercie d'avance