这就是我为代码所做的
int maxIndex = 0; int secPlace = 0; int minIndex = 0;
for(int k = 0; k < w.size(); k++){ //Finding First Place
if(w.at(k) > w.at(maxIndex)) {
maxIndex = k;
}
}
for(int a = 0; a < w.size(); a++){ //Finding Second Place
if( a!= maxIndex && w.at(secPlace) < w.at(a)){
secPlace = a;
}
}
for(int b = 0; b < w.size(); b++){ //Finding third place
if(b != maxIndex && b != secPlace && w.at(minIndex) < w.at(b)){
minIndex = b;
}
我知道,如果我让用户输入诸如10、8、6之类的值,则此代码将不起作用,因为用于查找第二位和第三位的循环永远不会实现。我不知道从哪里可以解决这个问题。
答案 0 :(得分:0)
您可以将最高值存储在NaN
中,将较高的值插入该vector
并将其限制为大小3:
vector