IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

remplissage et indexage tableau avec Boucle DO


Sujet :

Fortran

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Points : 476
    Points
    476
    Par défaut remplissage et indexage tableau avec Boucle DO
    Bonjour,

    ma question est très basique

    Soit ce programme fortran qui remplit le tableau MT

    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
    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
    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
    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) ?

    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:

    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..
    je vois pas le rapport avec le résultat au dessus..

    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
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Points : 476
    Points
    476
    Par défaut
    Désolé, je lisais mal le résultat... c'est tout bon...
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Remplissage d'un tableau avec VBA
    Par montphil dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2012, 11h39
  2. [8] Tableau avec boucle for()
    Par oyate dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 07/08/2012, 08h36
  3. Tableau avec boucle for
    Par wattaroo dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2010, 17h18
  4. Tableau avec boucle for
    Par nicolasferraris dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/04/2009, 14h36
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo