2013-05-30 22 views
0

我正在使用一個顯示隨機數的圖靈應用程序,然後顯示該數字滾動的次數,但隨後找到該模式,該次數的最高值隨機滾動,並顯示哪個數字(1-6)滾動最多。謝謝您的幫助。確定最高隨機數的「模式」

var numberDice : int 
var freq : array 1 .. 6 of int 
var highestNum : int 

highestNum := 0 

for j : 1 .. 6 
    freq (j) := 0 
end for 


for i : 1 .. 25 
    randint (numberDice, 1, 6) 

    freq (numberDice) := freq (numberDice) + 1 


end for 

for counter : 1 .. 6 
    if freq (counter) > highestNum then 
     highestNum := freq (counter) 
    end if 
end for 


put "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 

put "Number    Frequency" 
put "1     ", freq (1) 
put "2     ", freq (2) 
put "3     ", freq (3) 
put "4     ", freq (4) 
put "5     ", freq (5) 
put "6     ", freq (6) 

put " " 
put "Mode: ", highestNum 
put "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 
+0

有什麼問題嗎?另外,「模式」通常意味着與你在這裏使用它的方式不同。 –

+0

@李丹尼爾克羅克我的問題:我發現了最高的數字,但我怎樣才能將它應用於數字(1-6)? – Andrew

+0

我還是不明白這是什麼意思。你想達到什麼目的? –

回答

1

你需要一個額外的變量來保存你發現是最高的模具:

var highestNum : int 
var highestIndex : int 

highestNum := 0 
highestIndex := 0 

. . . 

    highestNum := freq (counter) 
    highestIndex := counter 
1

很高興人們仍然在使用圖靈。這是最好的初學者的語言。

您當前的代碼捕獲最大頻率。您還想要捕獲最大頻率值的索引。仔細查看您的代碼,以確定您需要的索引值可以在哪裏或正在計算的位置。聲明一個變量來捕獲它,比如highestIndex。然後添加代碼來執行捕獲和打印。我認爲這將需要3行。他們是什麼?他們去哪裏?當你理解了目前的方案是如何工作的,你會看到...