当我尝试为这样的矢量构建一个forloop:
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;
}
}
它显示:在令牌
之前的预期初始值设定项我哪里弄错了?非常感谢!
.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
答案 0 :(得分:1)
在将else用于else if条件之前,您似乎没有初始化min。
但是,你只是有一个条件是语法错误的其他。
这对我有用:
#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