Programme pascal non exécutable ???

Résolu/Fermé
SindaM Messages postés 42 Date d'inscription mardi 29 juillet 2008 Statut Membre Dernière intervention 17 octobre 2009 - 19 mai 2009 à 16:59
amiral18 Messages postés 2 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009 - 19 mai 2009 à 21:59
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
A voir également:

1 réponse

amiral18 Messages postés 2 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 21:59
VOUS DEVEZ DECLARER LE TABLEAU V DANS LA PROCEDURE DIVISIBLE ET N'oubliez pas le var.
0