0
私のプログラムは数字の入力を読み込んで順番に並べます。出力に見られるように。 アルゴリズムライブラリを使用しないで、ソートして繰り返しデータを取り除きました。ただし、データ値が繰り返される場合、ベクトルの最後の値は出力されません。 .eraseを間違って使用していますか?何も値が繰り返されていない.erase(C++)を使用した論理エラー
void remove_repeated(int size, vector<int>& num_vec){
for(int i = 0; i < num_vec.size(); i++){
if(num_vec[i]==num_vec[i+1]){
num_vec.erase((num_vec.begin()+i));
}
}
}
出力:値が繰り返され
**Welcome to the HW Reading Program**
Please, enter your HW:1-10
Do Problems: 1, 2, 3, 4, 5, 6, 7, 8, 9,and 10
出力:あなたはベクトルからインデックスi
の要素を消去した後
**Welcome to the HW Reading Program**
Please, enter your HW: 1-10,1-3
Do Problems: 1, 2, 3, 4, 5, 6, 7, 8,and 9
A)MVCE B)インデントを修正します。 TIA。 – Borgleader
これはあなたが投稿した無関係なコードの多くです。シンプルな 'main'プログラムを投稿し、ハードコーディングされた値を繰り返したベクトルを埋め込み、' remove_repeated'を呼び出して、その動作を確認することができます。並べ替えは、あなたが持っている問題とは関係ありません。 – PaulMcKenzie
@Borgleader A)私は自分の能力を最大限引き出すためにそれを修正しました。 B)私のインデントのどの部分が受け入れられないのですか? – Pouya