c++ - ペアベクトルc++の上限

c++ algorithm visual-c++ data-structures stl-algorithm

#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
#include <utility>

using namespace std;

typedef pair<int,int> Pair;

inline bool less_than_second( const Pair& b1, const Pair& b2 ){
   return b1.second < b2.second;
}

int main()
{
   const int SP1[] = { 2,53,21,55,36,5,1};
   const int EP1[] = { 18, 20, 26, 30, 41,1,5 };
         int i;


   const int num_pairs = sizeof( SP1 ) / sizeof( SP1[0] );
    vector<int> sm(num_pairs);

      // vector <int> SP;

   vector<Pair> pair( num_pairs );
   transform( EP1, EP1+num_pairs, SP1,pair.begin(), make_pair<int,int> );// MAKE PAIR

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

   sort( pair.begin(), pair.end(), less_than_second );

   vector<Pair>::const_iterator pair_end = pair.end();
    vector<int> SP,EP;
    vector<int>::iterator low,up;

   for( vector<Pair>::const_iterator ptr = pair.begin();ptr != pair_end; ++ptr )
   {

            int SP = ptr->second;
        int EP = ptr->first;

      cout<<"("<<SP<<","<<EP<<")\n";
      } 
   //cout<<"("<<SP<<","<<EP<<")\n";
   low=lower_bound (SP.begin(), SP.end(), 20); 
   up= upper_bound (SP.begin(), SP.end(), 20);

  cout << "lower_bound at position " << int(low- SP.begin()) << endl;
  cout << "upper_bound at position " << int(up - SP.begin()) << endl;


   up= upper_bound (pair.begin(), pair.end(), 20);                


  cout << "upper_bound at position " << int(up - pair.begin()) << endl;

   getchar();
}


私はペアのベクトルをソートし、ペアのベクトルの1つのupper_boundの値を取得しようとしていますが、それは私に与えます
位置= 0での上限。

私と一緒に耐えてください、私はc++の初心者であり、学びたいです。このコードを修正してください。ありがとうございました
答え
私の知る限り、SPベクトルにデータを入れることはありません。 int SP = ptr->second;の代わりにSP.push_back(ptr->second);を意味した可能性があります。

補足として、並べ替えは安定していないため、述語で並べ替える前にsort( pair.begin(), pair.end() );を呼び出しても意味がありません。

最後に、The Definitive C++ Book Guide and Listにある本を1つ選んで、言語の学習に役立ててください。
関連記事

c++ - setjmpがスタックを保存しないのはなぜですか?

c++ - coutをキャプチャして関数にリダイレクトする

c++ - Eclipseを使用してMySQLをC++に接続しますか?

c++ - C++用のどのXSLTプロセッサーですか?

c++ - オブジェクト指向プログラミング-メンバーとしての変数、またはグローバルとしてのヘッダーのみ?

c++ - TinyXmlパーサーはファイルを正しくロードすることを拒否します

c++ - shared_ptrでラムダをブーストする

c++ - C++ / CLIを使用したネイティブC++テンプレートクラスのラップ

c++ - C++でページのコンテンツを取得する

c++ - アプリケーションにフォーカスがない場合のキープレスの検出