Bonjour,
ma question est très basique
Soit ce programme fortran qui remplit le tableau MT
cela donne si je lis élément/élément :
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 program MatrixTest implicit none integer :: nbrx,nbrz,iter,i,j,k,n real*8, allocatable :: MT(:,:) n=5 iter=-1 allocate(MT(0:1,0:n*n+1)) do j=0, n do i=0, n iter=iter+1 MT(0,iter)=i MT(1,iter)=j enddo enddo end program
Je comprends pas l'indexage puisque les valeurs de M entrent soit dans la 1ere ligne M(0,iter), soit dans la 2eme ligne M(0,iter) ?
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 1 1 0.0000000000000000 1 2 0.0000000000000000 1 3 0.0000000000000000 1 4 0.0000000000000000 1 5 0.0000000000000000 2 1 2.0000000000000000 2 2 3.0000000000000000 2 3 4.0000000000000000 2 4 5.0000000000000000 2 5 0.0000000000000000 3 1 0.0000000000000000 3 2 0.0000000000000000 3 3 0.0000000000000000 3 4 0.0000000000000000 3 5 1.0000000000000000 4 1 3.0000000000000000 4 2 4.0000000000000000 4 3 5.0000000000000000 4 4 0.0000000000000000 4 5 1.0000000000000000 5 1 0.0000000000000000 5 2 0.0000000000000000 5 3 0.0000000000000000 5 4 1.0000000000000000 5 5 1.0000000000000000
Comment se fait il que l'indexage suit la définition des i et j alors qu'il devrait suivre la définition imposée par (0,1) et iter et que i et j devraient être les valeurs ?
Pour moi, MT devrait être (pour les 2 premières occurrences de j:
je vois pas le rapport avec le résultat au dessus..
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 j=0, i=0 MT(0,0)=0 MT(1,0)=0 i=1 MT(0,1)=1 MT(1,1)=0 i=2 MT(0,2)=2 MT(1,2)=0 i=3 MT(0,3)=3 MT(1,3)=0 i=4 MT(0,4)=4 MT(1,4)=0 i=5 MT(0,5)=5 MT(1,5)=0 j=1 i=0 MT(0,6)=0 MT(1,6)=1 i=1 MT(0,7)=1 MT(1,7)=1 i=2 MT(0,8)=2 MT(1,8)=1 i=3 MT(0,9)=3 MT(1,9)=1 i=4 MT(0,10)=4 MT(1,10)=1 i=5 MT(0,11)=5 MT(1,11)=1 ETC..
Désolé je viens de matlab et je ne comprends pas du tout et il doit avoir un truc important et basique que j'ai pas pigé.
Merci d'avance
Partager