2016-07-13 5 views
0

「トラック」番号が最短のものとして計算されたものを表示しようとしています。私はそのような整数の呼び出しが何であるか分かりません。現時点では、私のプログラムは0を呼び出し、それは両方のための私の出発点でした。どんな助けもありがとう。最高と最低の間隔を計算した後、アレイ番号の下付き文字をコンソールで読む方法を教えてください。

ここでは、私が話しているコードのセクションです。配列には12の項目があります。

longest = albumlength[0]; 
for (count = 1; count < Num_Tracks; count++) 
    if (albumlength[count] > longest) 
     longest = albumlength[count]; 

shortest = albumlength[0]; 
for (count = 1; count < Num_Tracks; count++) 
    if (albumlength[count] < shortest) 
     shortest = albumlength[count]; 

int total = 0; 
int average; 

for (int count = 0; count < Num_Tracks; count++) 
    total += albumlength[count]; 
average = total/Num_Tracks; 

cout << endl; 

cout << "The longest track is #" << albumlength[longest] << " at "; 
displayTime(longest); 
cout << "The shortest track is #" << albumlength[shortest] << " at "; 
displayTime(shortest); 
cout << "The total length of the album is: "; 
displayTime(total); 
cout << "The average length of a track is: "; 
displayTime(average); 
+0

アルゴリズムを使用する: 'auto pr = std :: minmax_element(albumlength、albumlength + Num_Tracks);最短= pr.first - アルバム長。最も長い= pr.second - アルバム長; ' – PaulMcKenzie

答えて

1

コードは実際の最長値と最短値を計算しており、その値をトラック番号のインデックスとして使用しています。それは意味をなさない。

あなたは、「『トラック』の数が計算された」把握したい場合は、まさにそれを実行します。代わりに、実際の最短または最長の価値が、トラック番号自体を追跡する:

longest = 0; 
for (count = 1; count < Num_Tracks; count++) 
    if (albumlength[count] > albumlength[longest]) 
     longest = count; 

longestは最も長いトラックの番号であり、最も長いトラックの実際の値ではありません。最短のトラックでも同じことをしてください。

+0

まあ、私は両方をしたい。私は配列に格納されているトラックの長さと 'トラック'番号を呼びたいと思いますが、私はあなたが何を言っているのかを知っています。ありがとう。私はそれを考え出した。 –

+0

トラック番号があれば、 'albumlength [trackNumber]'はあなたに最長または最短の長さを与えます。あなたはトラック番号を追跡する必要があります。 –

関連する問題