bonjour,
salut à tous
je cherche la solution exacte pour remplir le triangle de pascal d'une manière récursive.
j'ai essayé et voilà ma proposition mais il y a quelques choses qui m'a fait déchiré les cheveux![]()
![]()
et merci d'avance...................
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 program exercice; uses wincrt; type matrice = array[1..8,1..8] of integer; var mat:matrice; n:integer; {-----------------------------------------------------} procedure saisie(var n:integer); begin repeat write('n = ');readln(n); until (n>=2)and(n<=10); end; {-----------------------------------------------------} function pascal_rec(l,c:integer):integer; begin if (c=1)or(l=c) then pascal_rec:=1 else pascal_rec:=pascal_rec(l-1,c)+pascal_rec(l-1,c-1); end; {-----------------------------------------------------} procedure remplir(var mat:matrice;n:integer); var i,j:integer; begin for i:=1 to n do for j:=1 to i do mat[i,j]:=pascal_rec(i,j); end; {-----------------------------------------------------} procedure affiche(mat:matrice;n:integer); var i,j:integer; begin for i:=1 to n do begin writeln; for i:=1 to i do write(mat[i,j]:4); end; end; {---------------Programe principale------------------} begin saisie(n); remplir(mat,n); affiche(mat,n); end.
Partager