C++11. почему выдается ошибка? в код сильно не вникайте, алгоритм правильный. ошибка request for member 'sort' in 'vec', which is of non-class type 'std: : pair, int> [1050]' при сортировке. #include #include using namespace std; int a[505][505]; pair, int> vec[1050]; bool comp(pair, int> a, pair, int> b) { if(a.first.size() ! = b.first. return a.first.size() < b.first.size(); else { int amax = -1, asum = 0; for(auto it = a.first.begin(); it ! = a.first.end(); it++) { asum += *it; amax = max(amax, *it); } int bmax = -1, bsum = 0; for(auto it = b.first.begin(); it ! = b.first.end(); it++) { bsum += *it; bmax = max(bmax, *it); } return asum < bsum or (asum == bsum and amax < bmax); } } main() { int n, m; cin > > n > > m; for(int i = 1; i < = n; i++) { for(int j = 1; j < = m; j++) { cin > > a[i][j]; } } for(int d = 2; d < = m + n; d++) { int f; for(f = (m < d ? d - m + 1 : 1); f < = d; f++) { vec[d].first.push_back(a[f][d - f]); } vec[d].second = d - 1; } vec.sort(vec + 1, vec + m + n + 1, comp); for(int i = 1; i < = n + m; i++) { cout < < vec[i].second < < " "; } }