Bonjour,
j'ai le programme suivant pour construire le triangle de Pascal, mais il ne m'écris correctement sue les vleurs "1", ailleurs il met des "50", des "1" ou des "0" et je ne comprends vraiment pas où est mon erreur !
Voici le programme :
Merci d'avance pour vos conseils !
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 PROGRAM trianglePascal INTEGER :: n=10 ! last row of the triangle CALL triangle (1,n) END PROGRAM RECURSIVE SUBROUTINE triangle (i,m) INTEGER :: i,m,j INTEGER,ALLOCATABLE,SAVE,DIMENSION(:) :: a,b IF (i==1) THEN ALLOCATE (a(m)) ALLOCATE (b(1)) b=1 ELSE IF (i==2) THEN DEALLOCATE (b) ALLOCATE (b(2)) b=1 ELSE DEALLOCATE (b) ALLOCATE (b(i)) b(1)=1 b(i)=1 DO j=2,i-1 b(j)=a(j-1)+a(j-2) END DO END IF a(1)=b(i) PRINT '(12I4)',b IF (i==m) RETURN CALL triangle (i+1,m) END SUBROUTINE
Partager