Bonjour,
J'ai un petit probleme en Fortran(90), je souhaite passer en argument plusieurs tableaux dans une subroutine. Voici le code d'une partie du programme ...
program MN41
integer, allocatable :: tabconnec(:,:),position_x_connue(:),position_b_connue(:)
real*4, allocatable :: k(:),X(:),B(:),A(:,:)
[...]
call saisie(system,m,n,tabconnec,k,position_x_connue,position_b_connue,nb_x_connues,nb_b_connues,X,B)
[...]
end program MN41
*******************************
subroutine saisie(system,m,n,tabconnec,k,position_x_connue,position_b_connue,nb_x_connues,nb_b_connues,X,B)
integer, allocatable :: tabconnec(:,:),position_x_connue(:),position_b_connue(:)
real*4, allocatable :: k(:),X(:),B(:)
integer system, m,n,nb_x_connues,nb_b_connues
!Variables locales
integer*4 i
real*4 lambda,e,section,position
! lecture de m, nombre d'élements
write (*,'(a,$)')'Veuillez entrer le nombre d''elements : '
read (*,*) m
write (10,*)'Nombre d''élements : ',m
write (*,*)
! lecture de n, nombre de noeuds
write (*,'(a,$)')'Veuillez entrer le nombre de noeuds : '
read (*,*) n
write (10,*)'Nombre de noeuds : ',n
write (*,*)
! Tableau des connections :
allocate (tabconnec(m,2))
write (*,*) '____________ Veuillez entrer le tableau des connections : _________'
write(*,*)
do i=1,m
write (*,*) 'L''element',i,' est compris entre les noeuds :'
read (*,*) tabconnec(i,1),tabconnec(i,2)
write (*,*)
end do
! Ecriture du tableau de connections dans le fichier resultats.txt
write (10,*)
write (10,*) 'Tableau des connections :'
do i=1,m
write (10,*) (tabconnec(i,j),j=1,2)
end do
write (10,*)
[...]
Je n'ai pas tout mit le programme, juste pour que vous puissiez voir comment j'ai déclaré mes fonctions tableaux etc... Mais ca ne fonctionne pas et je n'arrive pas à trouver le problème!
Merci d'avance de votre aide!
Jonathan
Configuration: Windows XP
Internet Explorer 7.0