Programme pascal non exécutable ???

[Résolu/Fermé]
Signaler
Messages postés
42
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
17 octobre 2009
-
Messages postés
2
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
19 mai 2009
-
Bonjour,
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 :
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

1 réponse

Messages postés
2
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
19 mai 2009

VOUS DEVEZ DECLARER LE TABLEAU V DANS LA PROCEDURE DIVISIBLE ET N'oubliez pas le var.