2011-04-23 6 views
1

Fortran을 사용하여 계열의 모드를 계산하려면 어떻게해야합니까? 예를 들어Fortran에서 시리즈의 모드를 계산하는 방법

: 당신의 번호는 (그들은으로 나타나는) 분류되어있는 경우

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

건설적인 비평을 위해 지금 : 당신은 이미 무엇을 얻었습니까? 당신이 뭔가를 프로그램하기 시작 했니? 여기서 사람들은 다른 사람들의 숙제를 좋아하지 않습니다. – slhck

+1

예, 5 일 동안 사용해 본 적이 있다면 몇 가지 코드가 있어야하지만 부족할 수도 있습니다. 학습 과정을 시작점으로 사용하면 학습 과정이 훨씬 도움이됩니다. 즉, 코드를 게시하십시오 :-) – paxdiablo

+1

숙제 질문은 허용되지만 '숙제'태그를 포함해야합니다. 질문자는 또한 약간의 노력을 기울여야하며 진행 상황을 보여 주어야합니다. http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions를 참조하십시오. –

답변

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. 운동하는 경우 먼저 다른 대답에 주어진 알고리즘을 따르십시오.