Program S4;
Type
Tab = Array[1..25] Of integer;
Var
T,TD,TA : Tab;
N,ND,NA : integer;
//**************************************
Procedure Saisie(Var N:integer);
Begin
Repeat
write('Taille du tableau [5..25] : ');
readln(N);
Until ( N In [5..25]);
End;
//**************************************
Procedure Remplissage(Var T:Tab;N:integer);
Var
i : integer;
Begin
For i:=1 To N Do
Begin
Repeat
write('T[',i,'] = ');
readln(T[i]);
Until (T[i] >0);
End;
End;
//**************************************
Function Som_Diviseurs(N:integer) : integer;
Var
S,i : integer;
Begin
S := 1;
For i:=2 To ( N Div 2 ) Do
Begin
If ( N Mod i = 0) Then
S := S+i;
End;
Som_Diviseurs := S;
End;
//**************************************
Procedure Transfert(T:Tab;N:integer;Var TA,TD:Tab;Var NA,ND:integer);
Var
i : integer;
Begin
NA := 0;
ND := 0;
For i:=1 To N Do
Begin
If (T[i] > Som_Diviseurs(T[i])) Then
Begin
NA := NA+1;
TA[NA] := T[i];
End;
If (T[i] < Som_Diviseurs(T[i])) Then
Begin
ND := ND+1;
TD[ND] := T[i];
End;
End;
End;
//**************************************
Procedure Affichage(T:Tab;N:integer);
Var
i : integer;
Begin
For i:=1 To N Do
write(T[i],'|');
End;
//**************************************
Begin
Saisie(N);
Remplissage(T,N);
readln;
Transfert(T,N,TA,TD,NA,ND);
writeln('Affichage des éléments abondants : ');
Affichage(TA,NA);
writeln;
writeln('Affichage des éléments Déficients : ');
Affichage(TD,ND);
End.
Inscription à :
Publier les commentaires (Atom)