2017-03-28 4 views
0

コードをチェックして、エラーコードを教えてください。実際に私はヒストグラムをC++で印刷しようとしていました。物事はうまくいきましたが、星の最後の列で値が列3と同じになるという問題があります.3番目と4番目の入力に2つの異なる入力値を与えると、出力は同じですが2つの列になります独自の列に独自の値を出力したい場合は、ここにコードがあります。C++最後の列のヒストグラムエラー

#include<iostream> 
using namespace std; 
int f[4]; 
int main() 
{ 
    int a, b, c, d, i; 
    cin >> f[0] >> f[1] >> f[2]>>f[3]; 
    int m = max(max(max(f[0],f[1]),f[2]),f[4]); 
    for(int i=m;i>=1;i--) 
    { 
     for(int j=0;j<4;j++) 
      if (f[j]<i) cout <<' '; 
      else cout <<'*'; 
     cout<<endl; 
    } 
} 

ここに入力した場合の出力です。

2,3,4,5 

出力:

** 
*** 
**** 
**** 

答えて

0

未定義の動作で、その結果、あなたの配列の境界外で最大の要素、あなたはf[4]見ている、探しています。

f[3]を使用しています。

+0

感謝の男.....私はたわごとの間違いをしました:Pありがとう:) –

関連する問題