Печать векторных членов.ошибка - PullRequest
0 голосов
/ 29 марта 2012

Мне нужно отсортировать, а затем распечатать результат, увеличиваясь и уменьшаясь. У меня проблемы с печатью.

Код:

 void srtAsc(Array M){
    vector <int> days[31];

for(int i=0; i<31; i++){
    int s=0;
    for(int j = 0; j<6; j++){
        s += M.M[i][j];
        days[i] = s; //// HERE

    }
 sort(days[0],days[31]);
 }
 for(int i=0; i<31;i++){
    cout<<i<<". "<<days[i]; ///// HERE 
    cout<<endl;
 }
  }

ОШИБКА: ///// ЗДЕСЬ пятна Я также получаю ошибку, может быть, они связаны. "Нет совпадения oeprators '='

c:\mingw\bin\../lib/gcc/mingw32/4.6.1/include/c++/bits/stl_algo.h:2072:4: error: no   match for 'operator--' in '--__next'
c:\mingw\bin\../lib/gcc/mingw32/4.6.1/include/c++/bits/stl_algo.h:2074:7: error: no match for 'operator*' in '*__last'

1 Ответ

2 голосов
/ 29 марта 2012

STL-алгоритмы, такие как sort, работают на итераторах , поэтому вам нужно будет вызвать sort следующим образом:

sort(days.begin(), days.end());

Но сначала исправьте свой код: высоздали 31 вектор, а не вектор с 31 элементом.Используйте

vector<int> days(31);
...