comme chui un debutant dans le fortran ^^ , je me suis tt doucement lancé "en mettant deux ceintures lol " dans le Fortran
je viens de lire le cours (Function , subroutine) ,et par conséquent :faire des applications

je voulais faire un simple programme qui calcule la moyenne des elements positifs et negatifs (pour 3 matrice A ,B ,C) à l'aide des fonctions Moypos et Moyneg

voila le programme :
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
 
dimension A(3,3),B(4,4),C(2,2)
      real moynegA,moyposA,moynegB,moyposB,moynegC,moyposC
      write(*,*) 'Donner les valeurs de A'
      do 10 i=1,3
   10 read(*,*) (A(i,j),j=1,3)
      write(*,*) 'Donner les valeurs de B'
      do 20 i=1,4
   20 read(*,*) (B(i,j),j=1,4)
      write(*,*) 'Donner les valeurs de C'
      do 30 i=1,2
   30 read(*,*) (C(i,j),j=1,2)
      moynegA=moyneg(A,3)
      moyposA=moypos(A,3)
      moynegB=moyneg(B,4)
      moyposB=moypos(B,4)
      moynegC=moyneg(C,2)
      moyposC=moypos(C,2)
      write(*,*) 'moynegA=',moynegA,'moyposA=',moyposA
      write(*,*) 'moynegB=',moynegB,'moyposB=',moyposB
      write(*,*) 'moynegC=',moynegC,'moyposC=',moyposC
      end
      real function moypos(M,n)
      dimension M(4,4)
      S=0
      P=0
      do 40 i=1,n
      do 40 j=1,n
      if (M(i,j).GT.0) then
      S=S+M(i,j)
      P=P+1
      Endif
   40 continue
      moypos=S/P
      Return
      End
      Real function moyneg(M,n)
      Dimension M(4,4)
      S=0
      N=0
      Do 50 i=1,n
      Do 50 j=1,n
      If (M(i,j).LT.0) then
      S=S+M(i,j)
      W=W+1
      endif
   50 continue
      moyneg=S/W 
      return
      end
en le compilant dans [Microsoft developer studio] j'ai eu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
--------------------Configuration: fat - Win32 Debug--------------------
Compiling Fortran...
C:\MSDEV\BIN\function_subroutine.for
C:\MSDEV\BIN\function_subroutine.for : error FOR2205: wrong data type for reference to FUNCTION MOYPOS from procedure main
C:\MSDEV\BIN\function_subroutine.for : warning FOR4227: argument M (number 1) in reference to procedure MOYPOS from procedure main incorrect: has the wrong data type
C:\MSDEV\BIN\function_subroutine.for : error FOR2205: wrong data type for reference to FUNCTION MOYNEG from procedure main
C:\MSDEV\BIN\function_subroutine.for : warning FOR4227: argument M (number 1) in reference to procedure MOYNEG from procedure main incorrect: has the wrong data type
Error executing fl32.exe.
function_subroutine.obj - 2 error(s), 2 warning(s)
de l'aide !


mais sincerement ,de l aide ! ca fait plus de 4 heures que cherche une solution ^^ lool