Salut tout le monde,
voilà j'ai besoin d'un coup de main pour que je puisse faire cet exercice.
Voilà l'énoncé :
Le probléme est dans la 2è procédure !! Aidez moi svpEcrire un programme qui stocke la décomposition en facteurs premiers d'un nombre entier strictement positif dans un tableau et ensuite affiche les éléments de ce tableau sous la forme 18 = 2*3*3.et merci d'avance pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 program decomposition ; uses wincrt ; type tab=array[1..10] of integer ; var n : integer ; procedure saisie (var n : integer ); begin while n > 1 do begin writeln('Saisir un entier :'); readln(n); end; procedure former ( t: tab ; n : integer ; nb : integer ; di : integer ); {le probléme est ici svp aidez moi} var di,nb : integer ; Begin nb:=0 ; di:=2 ; while n >1 do begin if n mod di = 0 then begin t[nb+1]:= di ; n:= n div di ; nb:= nb+1 ; end; else di:=di+1 ; end; End; procedure affiche (t:tab ; n :integer ); var i : integer ; begin for i:=1 to nb do begin writeln(t[i] ); writeln('*'); end; end; begin saisie(n); former(t,n); affiche(t,n); end.
Partager