Fortran - Mostar por pantalla la cantidad de columnas de una matriz

 
Vista:
sin imagen de perfil
Val: 2
Ha mantenido su posición en Fortran (en relación al último mes)
Gráfica de Fortran

Mostar por pantalla la cantidad de columnas de una matriz

Publicado por Nick (1 intervención) el 17/05/2021 06:13:48
Buenos días a todos, estoy realizando un código que determine el numero de filas y columnas de una matriz, cunado lo ejecuto efectivamente si me determina el numero de filas pero el número de columnas me sale 0 tal como inicialice el contador, quisiera saber si no es mucha molestia en que estoy errando.

Adjunto el archivo datos.txt
aunque es una matriz sencilla:
11 22
33 44
55 66
77 88

Agradezco mucho de antemano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program fich
real :: b(4,2)
integer :: i,j
OPEN(UNIT=1,FILE='datos.txt',STATUS='OLD')
k=0
do i=1,4
	read(1,*,end=15) b(i,:)
	k=k+1
enddo
15 WRITE(*,*) 'La matriz tiene', k, 'filas'
a=0
do j=1,2
	read(1,*,end=20) b(i,j)
	a=a+1
enddo
20 WRITE(*,*) 'La matriz tienee', a, 'columnas'
 close(1)
end program fich
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

Mostar por pantalla la cantidad de columnas de una matriz

Publicado por francsco (5 intervenciones) el 29/02/2024 18:32:10
En fortran nunca ha existido la manera de averiguar la dimension de un vector o matriz ni tampoco la longitud de una variable de tipo caracter. Tu defines la cantidad maxima de localidades de memoria que quieres uutilizar. Luego usas hasta esa cantidad o menos.
Fortran trabaja con cantidades de memoria fijas (previamente definidas antes de usarlas), no tiene asignacion dinamica de memoria ni funciones que permitan averiguar el numero o cantidad de esta. Existe sin embargo la manera de finir una matriz con una dimension en funcion de otra variable pero debe tener un valor que sera sustituido por el compilador y el resultado sera equivalente a tener una matriz de dimension fija con la ventaja que se adapta al uso que se le quiera dar. En mi opinion esto sirve para ahorrar memoria.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar