0

次のように forloop for vector を構築しようとすると:

  vector<int> v;

  int  a;
    while (cin>>a){
      if(i<=0 || i>=10)
        cout << "Please enter int between 0 and 10:" << endl;
      else
        v.push_back(a);
    }

  int min;
  int sum;
  for (int &i: v){
    if(v.empty())
      min = i;
    else(i<min){
     min = i;
    sum += i;
    }
  }

それは :expected initializer before â token を示しています

どこで間違ったのですか?本当にありがとう!

.bashrc:

これが私の.bashrcです:

  # .bashrc

    # User specific aliases and functions
    export PATH=/usr/remote/gcc-4.8/bin:$PATH
    export LD_LIBRARY_PATH=/usr/remote/gcc-4.8/lib:$LD_LIBRARY_PATH
    alias g++='g++ -std=c++11'


    # Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fio9
4

1 に答える 1

1

min を else if 条件に使用する前に初期化していないようです。

ただし、構文エラーである条件付きのelseがあります。

これは私のために働く:

#include <vector>
#include <iostream>
#include <limits.h>

using namespace std;

int main()
{
    vector<int> v;

    int  i;
    while (cin >> i) {
        if(i < 0 || i > 10)
            cout << "Please enter int between 0 and 10:" << endl;
        else
            v.push_back(i);
    }

    int sum = 0;
    int min = INT_MAX;

    for (int &i: v) {
        if (i < min)
            min = i;
        sum += i;
    }

    cout << "min: " << min << endl;
    cout << "sum: " << sum << endl;
}

次のコマンドでこのコードをビルドします。g++ -std=c++11 main.cpp

出力は次のとおりです。

1
2
3
min: 1
sum: 6
于 2013-09-13T02:02:21.500 に答える