znajdowanie określonych indeksów z tablicą wskaźników

Jestem względnie nowy w Fortran i łamam głowę o jedną rzecz teraz:

Chcę napisać podprogram do znajdowania indeksów dla konkretnych elementów w rzeczywistej tablicy 1D (podanej procedurze jako dane wejściowe).

Wygenerowałem tablicę ze 100 losowymi reałami, zwanąarr, a teraz chcesz określić indeksy tych elementów, które są większe niż rzeczywista wartośćmin, który jest również przekazywany do podprogramu.

Poza tym na koniec chciałbym mieć wskaźnik, który przydzielę w końcu, co, jak mi powiedziano, byłoby lepsze niż użycie tablicyindices zawierające znalezione indeksy.

Po prostu nie znalazłem sposobu, aby to rozwiązać, miałem następujące podejście:

SUBROUTINE COMP(arr, min)
   real, intent(in)                 :: arr(:)
   real, intent(in)                 :: min
   integer, pointer, dimension(:)   :: Indices
   integer                          :: i, j

   ! now here I need a loop which assigns to each element of the pointer 
   ! array the Indices one after another, i don't know how many indices there
   ! are to be pointed at 
   ! And I dont know how to manage that the Indices are pointed at one after another,
   ! like Indices(1) => 4
   !      Indices(2) => 7
   !      Indices(3) => 32
   !      Indices(4) => 69
   !      ...
   ! instead of
   !      Indices(4) => 4
   !      Indices(7) => 7
   !      Indices(32) => 32
   !      Indices(69) => 69
   !      ...


   DO i = 1, size(arr)
      IF (arr(i) > min) THEN
         ???
      ENDIF
   ENDDO
allocate(Indices)
END SUBROUTINE COMP

questionAnswers(3)

yourAnswerToTheQuestion