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 :
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
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
de l'aide !
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)
mais sincerement ,de l aide ! ca fait plus de 4 heures que cherche une solution ^^ lool
Partager