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!
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.