voila, il s'agit d'écrire un programme Pascal intitulé DivSom, permettant :
• De saisir un entier n (3<=n<=20)
• De remplir un tableau T par n entiers positifs non nuls
• De calculer et d’afficher la somme S de tous les éléments du tableau T
• De déterminer et d’afficher tous les éléments du tableau T qui sont des diviseurs de la somme S

voila ce que j'ai fait mais ça ne marche pas:

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
program divsom;
uses wincrt;
type tab= array[1..100] of integer;
var t,v:tab; n,sm,i:integer;
procedure remplissage (var t:tab; var n:integer);
var i:integer;
begin
repeat
writeln ('donner le nombre de cases');
readln (n);
until n in [3..20];
 
for i:=1 to n do
begin
repeat
writeln ('t[',i,']=');
readln(t[i]);
until t[i]>=0;
end;
 
end;
 
 
function somme (t:tab;n:integer):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to n do
s:=s+t[i];
somme:=s;
 
end;
 
procedure divisible (t:tab; n:integer;s:integer);
var i,ss:integer; v:tab;
begin
ss:= somme (t,n);
for i:= 1 to n do
if t[i] mod ss =0 then v[i]:= t[i];
end;
 
begin
remplissage (t,n);
sm:= somme (t,n);
writeln(sm);
divisible (t,n,sm);
for i:= 1 to n do
writeln (v[i]);
end.

merci de me dire ce qui cloche parce que ça me donne la somme mais pas les diviseurs