如何计算 Fortran 数组中出现的次数

How to count number of occurences in a Fortran array

例如,如果我有一个一维数组

indices=(/1, 1, 1, 2 , 2 ,10, 11 /)

我想知道1出现了多少次(答案应该是3)。

2号应该是2次,10号应该是1次,11号也应该是1次

我已经尝试找出是否存在内在函数,但 count 函数的工作方式不同。

您可以将 count 内在函数与比较运算符一起使用,例如

integer :: indices(7)
indices = [1, 1, 1, 2, 2, 10, 11]
write(*,*) count(indices==1)