私はプログラムが私に配列の中で最も低い値と最も高い値を与えるようにしようとしています。値の出力が間違っています
ここに私のコードです:
int z=10;
int a[z]={1,2,3,4,5,6,7,8,9,10};
for (int x=1;x<=10;x++) {
cout << "How many pancakes were eaten by P"<<x<<endl;
cin >> a[x];}
int maxPancakes = a[0];
int glutton;
int minPancakes = a[0];
int mN;
for (int x = 0; x <= z; x++) {
if (a[x] >= maxPancakes) {
maxPancakes = a[x];
glutton = x;
}
else if (a[x] <= minPancakes) {
minPancakes = a[x];
mN = x;
}
}
最高値のコードが動作しているが、最も低い値のコードは私に間違った値(ランダムな大きな数字)を与え続けている
私は」何か助けていただきありがとうございます。
ようこそ!デバッガを使用してコードをステップ実行する方法を学ぶ必要があるようです。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。詳しい読書:[小さなプログラムのデバッグ方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) – NathanOliver
'a'と' z'の定義は何ですか? –
変数を初期化する必要があります。変数を初期化する必要があります。そうでない場合は、メモリ内のその場所に残った値で開始します。 'glutton = 0'、' mN = std :: numeric_limits :: max() 'となります。また、 'a [0]'の初期値は何ですか? –
0x5453