Fortran - min por fila

 
Vista:
sin imagen de perfil

min por fila

Publicado por marta (2 intervenciones) el 14/09/2017 17:27:01
Buenas, me gustaría que de un archivo donde tengo guardadas distintas matrices de diferentes dimensiones, poder buscar primero por fila el min de cada fila y cuando lo encuentra ver si es el maximo de esa columna.

Pero no encuentro el fallo, ¿Alguien podria decirme donde esta?.. creo que es en la forma de definir el min y el max

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
PROGRAM silla
IMPLICIT NONE
!variables
INTEGER i,j,pf,pc,puntosilla
REAL A(9,9),n,m
!archivos
OPEN(11,FILE='DATOS5.TXT')
OPEN(12,FILE='SOL5.TXT')
!Vamos a comparar las posiciones para ver si son o no punto de silla
DO i=1,5
 READ (11,*) (A(i,j), j=1,8)
   m=MIN(A(i,j), j=1,8)
    IF(m == MAX(A(i,j), i=1,5)) THEN
                WRITE(12,'(A,3x,I2,2x,A,I2,I2)') 'El punto de silla es',m,'posicion'i,j
           ELSE
               WRITE(12,'(A,3x,I2,2x,I2)') 'No tiene punto de silla en esta fila'
 
    END IF
END DO
DO i=7,13
 READ (11,*) (A(i,j), j=1,6)
   m=MIN(A(i,j), j=1,6)
    IF(m == MAX(A(i,j), i=7,13)) THEN
                WRITE(12,'(A,3x,I2,2x,A,I2,I2)') 'El punto de silla es',m,'posicion'i,j
           ELSE
               WRITE(12,'(A,3x,I2,2x,I2)') 'No tiene punto de silla en esta fila'
 
    END IF
END DO
 
DO i=15,23
 READ (11,*) (A(i,j), j=1,9)
   m=MIN(A(i,j), j=1,6)
    IF(m == MAX(A(i,j), i=15,23)) THEN
                WRITE(12,'(A,3x,I2,2x,A,I2,I2)') 'El punto de silla es',m,'posicion'i,j
           ELSE
               WRITE(12,'(A,3x,I2,2x,I2)') 'No tiene punto de silla en esta fila'
 
    END IF
END DO
 
 
 
END PROGRAM silla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder