По идее, результат должен быть 5, а не -999
В чем моя ошибка? (особое внимание на строчку 17):
1 #include <vector>
2 #include <iostream>
3 using namespace std;
4 int main (int argc, char* argv[]) {
5 vector <vector <double> > table;
6 for(int i=0;i<5;++i) {
7 vector<double> tmp;
8 for(int j=0;j<5;++j) {
9 tmp.push_back(0);
10 }
11 table.push_back(tmp);
12 }
13 int max=-999;
14 int s; bool b1, b2;
15 for(vector< vector < double> >::const_iterator iter=table.begin(); iter!=table.end(); ++iter) {
16 s= iter->size(); b1= ( (iter->size()) > max); b2= s>max;
17 if ((iter->size()) > max)
18 max=iter->size();
19 }
20 cout<<"max: "<<max<<endl;
21 cout<<"s: "<<s<<", b1: "<<(int)b1<<", b2 "<<(int)b2<<endl;
22
23 cout<<"END"<<endl;
24 return 0;
25 }
OUTPUT
max: -999
s: 5, b1: 0, b2 1
END