1

私は現在、c ++とdirectx 9を学んでいます。私はハイスコアシステムが必要な小さなゲームを作成しています。ファイルの読み取りと書き込みが完了しました。新しい値を並べ替えて自分のスコア ベクトル。

ファイルをベクターに読み込むための私の方法は次のとおりです。

     vector<int> Highscore::readFile()
     {
      int score;
       highScoreIn.open ("Highscore.txt", ios::out | ios::binary);
       if (highScoreIn.is_open())
       {

       while(highScoreIn>>score)
         {
           scores.push_back(score);
         }
         highScoreIn.close();
    return(scores);
       }
       else cout << "Unable to open file"; 
     }

関数に渡された整数を、ベクトル スコアに保存している 5 つの値と照合し、それをベクトルの適切な場所に挿入する関数が必要です。これについての助けをいただければ幸いです:)

4

1 に答える 1

2

ベクトルが最大から最小にソートされていると仮定します

bool insert( vector<int> &v, int n ) {
    for ( auto it = v.begin(); it != v.end(), ++it ) {
        if ( *it < n ) {
            v.insert( it, n );
            v.pop_back()
            return true;
        }
     }
     return false;
}
于 2013-05-08T16:51:40.990 に答える