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.