如何使用Fortran计算系列的模式?
例如:
1,2,2,3,3,3,4,4,5
Mode = 3
答案 0 :(得分:1)
如果您的数字已经排序(看起来像),那么伪代码很简单:
set maxval to -1
set maxcount to -1
set count to -1
set lastval to list[0] - 1
for every val in list:
if val is not equal to lastval:
if count is greater than maxcount:
set maxval to lastval
set maxcount to count
set count to 0
set lastval to val
set count to count plus one
if maxcount is not equal to -1:
print "mode is " maxval " with count of " maxcount
请注意,如果有多个,则只返回第一个模式。
答案 1 :(得分:1)
你可以在那里找到已经制作的代码,如果你需要它,它不仅仅是一个锻炼;例如 Mode at wiki rosettacode.org。如果是锻炼,首先尝试遵循另一个答案中给出的算法。