Programme pascal non exécutable ???
Résolu
SindaM
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
amiral18 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
amiral18 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Programme pascal non exécutable ???
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Programme demarrage windows - Guide
- Message programmé iphone - Guide