如何计算Fortran中一系列的模式

时间:2011-04-23 12:32:07

标签: fortran

如何使用Fortran计算系列的模式?

例如:

1,2,2,3,3,3,4,4,5
Mode = 3

2 个答案:

答案 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。如果是锻炼,首先尝试遵循另一个答案中给出的算法。