2011-04-23 60 views
1

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

例如:

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

現在進行一些建設性的批判:你已經得到了什麼?你甚至開始編程嗎?這裏的人不喜歡做別人的功課。 – slhck 2011-04-23 12:35:26

+1

是的,如果你已經嘗試了5天,你應該有一些代碼,但是你可能認爲它有缺陷。如果你以此爲出發點,學習過程將對你更有益。換句話說,張貼代碼:-) – paxdiablo 2011-04-23 12:45:32

+1

家庭作業問題是允許的,但他們應該包括'家庭作業'標籤。提問者也應該努力並展示他們的進展。見http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions – 2011-04-24 00:25:30

回答

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

如果你需要它,你可以找到已經制作好的代碼,它不僅僅是一個練習;例如 Mode at wiki rosettacode.org。如果是鍛鍊,請先嚐試按照其他答案中給出的算法。