Pasaje de un array como argumento a una subrutina

Pasaje de un array como argumento a una subrutina

por Cesar Voulgaris -
Número de respostas: 0

Ante algunas consultas que han tenido para pasar/utilizar un array a una subrutina, les comento lo siguiente:

1 - En introcomp-files hay un fuente de ejemplo donde se instancia un array dinámico y se pasa como argumento a una subrutina que implementa un swap entre elementos a modo de ejemplo, revisen eso. La forma de declarar el argumento pasado en la subrutina es refernciando la dimensión del vector de forma indefinida (o más bien heredada) con el ":" :

      integer,dimension(:) :: vector

2 - Lo anterior no implica que tenga que usar array dinámico para resolver la entrega de ordenación de un vector. También se puede pasar el array y declararlo en la subrutina con una dimension indefinida (heredada del prog principal) usando ":"

3 - Otra alternativa es pasar el array y la dimension que lo define en el program principal ambos como args a una subrutina. En la sub, se declara en las var, el array la dimension como en el pro. principal.

Revsen este código de ejemplo.