поиск конкретных индексов с помощью массива указателей

Я относительно новичок в Фортране и сейчас часами ломаю голову над одной вещью:

Я хочу написать подпрограмму для поиска индексов для конкретных элементов в реальном 1D-массиве (данный подпрограмме в качестве входных данных).

Я сгенерировал массив с 100 случайными реалами, который называетсяarrи теперь хочу определить индексы тех элементов, которые больше реальной стоимостиmin, который также передается в подпрограмму.

Плюс, в конце я хотел бы иметь указатель, который я бы выделил в конце, что, как мне сказали, было бы лучше, чем использование массиваindices содержащий индексы, когда-то найденные.

Я просто не нашел, как это решить, у меня был следующий подход:

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

Ответы на вопрос(3)

Ваш ответ на вопрос