je bloque ici ...
2 participants
Page 1 sur 1
je bloque ici ...
écrire un programme permettant de remplir un tableau T (de taille max =50 ) par n entiers de quatre chiffres puis affiche la somme des chiffres de chaque élément.
je bloque a la déclaration de la fonction "som"
dans la procédure remplir ...
program somme ;
uses wincrt ;
type
tab=array [1..50] of integer ;
var
t:tab ;n,i,s,d,m,c,u,x,e :integer ;ch:string;
procedure lecture(var n :integer);
begin
repeat
write('n= ');readln(n);
until n in [1..50];
end;
procedure remplir(var t:tab ;n:integer);
begin
for i:=1 to n do
repeat
readln(t[i]);
until (n>1000) and (n<9999) ;
end;
function som( x:integer):integer;
begin
str(x,ch);
val(ch[1],m,e);
val(ch[2],c,e);
val(ch[3],d,e);
val(ch[4],u,e);
som := m+c+d+u
end;
procedure affiche (t:tab ;n :integer);
begin
for i:=1 to n do
readln (som(x)) ;
end;
begin
lecture(n);
remplir(t,n);
affiche(t,n);
end.
merci d'avance
je bloque a la déclaration de la fonction "som"
dans la procédure remplir ...
program somme ;
uses wincrt ;
type
tab=array [1..50] of integer ;
var
t:tab ;n,i,s,d,m,c,u,x,e :integer ;ch:string;
procedure lecture(var n :integer);
begin
repeat
write('n= ');readln(n);
until n in [1..50];
end;
procedure remplir(var t:tab ;n:integer);
begin
for i:=1 to n do
repeat
readln(t[i]);
until (n>1000) and (n<9999) ;
end;
function som( x:integer):integer;
begin
str(x,ch);
val(ch[1],m,e);
val(ch[2],c,e);
val(ch[3],d,e);
val(ch[4],u,e);
som := m+c+d+u
end;
procedure affiche (t:tab ;n :integer);
begin
for i:=1 to n do
readln (som(x)) ;
end;
begin
lecture(n);
remplir(t,n);
affiche(t,n);
end.
merci d'avance
Oussama Saied- Messages : 3
Date d'inscription : 18/01/2009
réponse à Oussama
très bien Oussama, mais ta solution manque quelques retouches
program somme ;
uses wincrt ;
type
tab=array [1..50] of integer ;
var
t:tab ;n,i,s,d,m,c,u,x,e :integer ;ch:string;
procedure lecture(var n :integer);
begin
repeat
write('n= ');readln(n);
until n in [1..50];
end;
procedure remplir(var t:tab ;n:integer);
begin
for i:=1 to n do
repeat
readln(t[i]);
until (t[i]>1000) and (t[i]<9999) ;
end;
function som( x:integer):integer;
begin
str(x,ch);
val(ch[1],m,e);
val(ch[2],c,e);
val(ch[3],d,e);
val(ch[4],u,e);
{on peut extraire m,c,d et u sans transformer x en une chaîne
ça ce fait comme suit: som:=(x div 1000)+(x mod 1000 div 100) + (x mod 100 div 10)
+ (x mod 10);}
som := m+c+d+u;
end;
procedure affiche (t:tab ;n :integer);
begin
for i:=1 to n do
writeln (som(t[i])) ;
end;
begin
lecture(n);
remplir(t,n);
affiche(t,n);
end.
program somme ;
uses wincrt ;
type
tab=array [1..50] of integer ;
var
t:tab ;n,i,s,d,m,c,u,x,e :integer ;ch:string;
procedure lecture(var n :integer);
begin
repeat
write('n= ');readln(n);
until n in [1..50];
end;
procedure remplir(var t:tab ;n:integer);
begin
for i:=1 to n do
repeat
readln(t[i]);
until (t[i]>1000) and (t[i]<9999) ;
end;
function som( x:integer):integer;
begin
str(x,ch);
val(ch[1],m,e);
val(ch[2],c,e);
val(ch[3],d,e);
val(ch[4],u,e);
{on peut extraire m,c,d et u sans transformer x en une chaîne
ça ce fait comme suit: som:=(x div 1000)+(x mod 1000 div 100) + (x mod 100 div 10)
+ (x mod 10);}
som := m+c+d+u;
end;
procedure affiche (t:tab ;n :integer);
begin
for i:=1 to n do
writeln (som(t[i])) ;
end;
begin
lecture(n);
remplir(t,n);
affiche(t,n);
end.
Re: je bloque ici ...
baraka allahou fik ...
Oussama Saied- Messages : 3
Date d'inscription : 18/01/2009
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|