1

素数をベクトルに入れるプログラムを作成しています。このプログラムがどのように機能するかをよりよく示すために、例を示します。

ユーザー: 3

アウトプット 3

ユーザー: 13

出力: 3 5 7 11 13

言葉で言えば、このプログラムはユーザーの入力以下の素数を合計しています。次に、ユーザーの実際の入力が素数であった場合、最後に true または false の bool を返します。

            if (found)
            {
                vector_output.push_back(j);

            }
            if (number == j)
            {
                if (found ==false)
                    return false;
                else




void checkprime::vector_finder()    
{
    for (int k=0; k < vector_output.size(); k ++)
    {    
        cout << vector_output[k];
    }    
}

残念ながら、私の出力は次のとおりです。

ユーザー 3

アウトプット 3

ユーザー 13

出力: 3 5 5 5 7 7 7 7 7 9 11 13

ベクトルが数値を複製しない場所に到達するにはどうすればよいですか?

のような vector_output.pushback(j) の直前に if 文のようなものを考えました

if (vector_output.size() != 0 && vector.output.back() != j)
      vector_output.push_back(j);

動作しますが、これでは何も出力されません。

4

1 に答える 1