-1

配列ポインターをループして、その配列の偶数を取得しようとしました。

void even_element(double* a, const int SIZE)
{
for (int count = 0; count < SIZE; count ++)
{
    if(a[count] % 2 == 0) //Error here
    {
        cout << *(a + count) << " ";
    }
}
}

配列が宣言されているメインメソッドで行う場合、ポインターを使用せずにこれを行うことができます。

for (int count = 0; count < SIZE; count ++)
{
    if(num_array[count] % 2 == 0)
    {
        cout << num_array[count] << " ";
    }
}

ただし、ポインターでこれを実行しようとすると、配列内の要素をループする方法がわかりません。誰かが私を案内してもらえますか?

前もって感謝します。

4

2 に答える 2

4

浮動小数点数を扱う場合fmodは、整数モジュロ演算子の代わりに使用する必要があります%

ただし、浮動小数点値を扱うときは注意してください。値を直接比較することはできません。値と非常に小さいイプシロン値との絶対差を比較する必要があります。

于 2013-05-29T08:41:48.743 に答える
1

'%' を double と一緒に使用することはできません。次のリンクは役に立ちます:

double でモジュラスを使用できませんか?

于 2013-05-29T08:42:08.337 に答える