前提
入力した配列の要素の中から最小値の値をmin_valueに格納するというプログラムを作成します。
以下、プログラムです。
#include <iostream> #include <vector> using namespace std; const int INF = 20000000; // 十分大きな値に int main() { // 入力を受け取る int N; cin >> N; vector<int> a(N); for (int i = 0; i < N; ++i) cin >> a[i]; // 線形探索 int min_value = INF; for (int i = 0; i < N; ++i) { if (a[i] < min_value) min_value = a[i]; } // 結果出力 cout << min_value << endl; }
疑問点
プログラムの4行目の部分。
for (int i = 0; i < N; ++i) cin >> a[i];
ここの部分で配列に数値をキーボードから入力すると思うのですが、キーボードで入力後は配列の中身を見てみると0になっており、最終的な結果(min_value)もゼロになってしまいます...
エラーではないようなので、どういう仕組みでこうなってしまうのか教えていただけると幸いです...
入力したもの
5
1,2,3,4,5
出力
数値を変えても0になってしまう...
補足
何か言葉足らずな点がありましたら、ご指摘願います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/19 04:50 編集