Bonjour

Je dispose de 2 compilateurs, soit gfortran soit ifort.

Je n'arrive pas à comprendre le message d'erreur que j'ai à la compilation avec gfortran et pas avec ifort pour le programme suivant :

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
      program moyenne
      implicit none
      integer::nmax,jf,nf0,i,nfile,k,ntot
      parameter(nmax=400000)
      character(len=80),dimension(:),allocatable::fichier
      character(len=100)::ligne
      character(len=2)::num
      double precision,dimension(1:nmax)::phi,tau,CA2,CG2
      double precision,dimension(:),allocatable::phi0,rk1
      double precision::phim,phisig,taum,tausig,CA2m,CA2sig,CG2m,CG2sig
 
 
      open(10,file="bilan.in")
      read(10,*)
      read(10,*)nfile
      allocate( fichier(1:nfile), phi0(1:nfile), rk1(1:nfile) )
      Do i=1,nfile
        read(10,"(a)")ligne    
        k=index(ligne," ")
        read(ligne(:k+1),"(a)")fichier(i)
        read(ligne(k+1:),*)phi0(i),rk1(i)
      Enddo 
      read(10,*)nf0
      close(10)
 
      write(*,"(a)")"# phi0  phim phisig taum tausig CA2m CA2sig"
      Do jf=1,nfile
        call lecture(nfile,nf0,nmax,fichier(jf),ntot,phi,tau,CA2,CG2)
 
        call stat(ntot,phi,phim,phisig)
 
        write(*,"(9F10.3)") phi0(jf) , phim , phisig , &
                                       taum , tausig , &
                                       CA2m , CA2sig , &
                                       CG2m , CG2sig
 
      Enddo
 
      end
 
! ==============================================================================
 
      Subroutine stat(n,x,xm,xsig)
      implicit none
      integer,intent(in)::n
      double precision,dimension(1:n),intent(in)::x
      double precision,intent(out)::xm,xsig
      integer::i
 
      xm = sum( x(:) ) / dble( n )
 
      xsig=0.d0
      Do i=1,n
        xsig = xsig + ( x(i) - xm )**2
      Enddo
      xsig = sqrt( xsig / dble(n) )
 
      end
 
! ====================================================================
 
      Subroutine lecture(nfile,nf0,nmax,nom,ntot,phi,tau,CA2,CG2)
      implicit none
      character(len=80),intent(in)::nom
      integer,intent(in)::nmax,nfile,nf0
      integer,intent(out)::ntot
      double precision,dimension(1:nmax),intent(out)::phi,tau,CA2,CG2
      integer::nsup,n,nr,isup,i
      character(len=2)::num
      double precision::bid
 
      Ici je lis les données je pense c'est un bidouillage de lecture si ça manque je le rajouterai !
 
     end
L'erreur est que j'ai "too many arguments" pour la subroutine stat !!!!!

Après mon post d'hier je me suis dis "tiens tu vas reessayer un vrai programme F90 avec des implicit none pour voir" !

Merci pour l'aide