Bonjour,
J'écris un programme pour passer d'une matrice à un vecteur colone, par exemple si A = 1 1 alors V= 1
2 5 2
1
5
J'ai écrit le programme, mais le resultat ne me satisfait pas; j'ai obtenu que le vecteur V contienne des 0 dans ses 3 dernières cases ! J'ai essayé de trouver l'erreur mais je ne trouve pas, pouvez-vous m'aider ?

Voilà mon code :
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
       program rien
      double precision A(3,3),V(9)
      do i=1,3
         do j=1,3
             A(i,j)=i*j
         enddo
      enddo
      call Mv(3,A,V)
      print 20,((A(i,j),i=1,3),j=1,3)
20    format('A=',3(/,1X,(F12.8,1X)))
      print 30,(V(i),i=1,9)
30    format('V=',12(F12.8,1X))
      print*,'v4=',V(4)
      end
 
      subroutine Mv(NN,AA,VV)
      integer i,j,NN
      double precision AA(NN,NN), VV(NN**2)
      do j=1,NN
         do i=(j-1)*NN+1,j*NN
            VV(i)=AA(i,j)
         enddo
      enddo
      return
      end
Merci!