Salut ,
j'ai essayé de résoudre un problème : un programme permettant de lire un tableau trié au moment de la saisie ensuite saisir un entier et le positionner en bonne place de sort que le tableau reste trié

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
program abc ;
uses wincrt ;
type tab = array [1..100]of integer ;  
var n,x :integer;
t:tab ;
 
 
{**procédure de lecture de l'entier n}
{--Début--}
procedure saisir (var n:integer);                                    
begin
repeat                                                                       
 
writeln('entrez un entier n compris entre 4 et 10');
readln(n);
 
until  n in [4..20] ;
end;
{--Fin-------------------------------------------}
 
{** procédure du remplissage du tableau triés directement  }
{--Début--}
procedure remplir (var t:tab ; n:integer);
var i:integer ;
 
begin
writeln('entrez l''élement 1');readln(t[1]);
 
for i:=2 to n do
begin
repeat
writeln('entrez l''élement ',i);readln(t[i]);
until t[i] > t[i-1];                            
end;
end;
{--Fin--------------------------------------------}
 
{** procédure de l'insertion de l'entier n dans sa bonne place  }
{--Début--}
procedure insert (Var t:tab ; n,x:integer );
var i :integer ;
begin
writeln('tapez un entier x ');readln(x);
i:=1;
for i:=n downto 1 do
if (t[i]>x) then 
begin
t[i+1]:=t[i];
 
end;
t[i]:=x;
end;
 
 
{--Fin--------------------------------------------}
 
{** procédure de l'affichage du tableau trié  }
{--Début--}
 
procedure affiche (t:tab ; n:integer );
var k :integer ;
 
begin
for k:=1 to n+1 do ;
begin
 
writeln(t[k]);
end;
 
end;
 
{--Fin--------------------------------------------}
 
 
 
begin
 
saisir(n);
remplir(t,n);
 
insert(t,n,x); 
affiche(t,n); 
 
end.
malheureusement ceci ne fonctionne pas
Merci de m'aider