Распечатка чисел между набором Min и Max - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь создать функцию, которая принимает установленные минимальное и максимальное значения, а затем распечатывает номера заданного массива, которые помещаются между этими значениями. Вот мой код:

void clampNums( const double* i_origArray, int i_size,
double i_min, double i_max )
{
    printf("clampNums(): Start\n");
    for (int i=0; i<i_size; i++)
    {
        if (i_min < i_origArray[i] < i_max)
        {
            printf("%f ", i_origArray[i]);
        }

    }

    printf("clampNums(): End\n");
}


int main()
{
    int size = 6;
    double cMin = 0.0, cMax = 10.0;
    double arr[] = { 1.33, -0.06, 20.54, -4.49, -39.0, 0.000001 };

    printf("Clamping min = %f, max = %f\n", cMin, cMax);
    printf("Original array:\n\t");
    for (int i=0; i<size; i++)
        {
            printf("%f, ", arr[i]);
        }
    printf("\n");

    clampNums(arr, size, cMin, cMax );

    return 0;
}

Я пытаюсь выяснить, как заставить мой для l oop работать внутри моей функции ClampNums (). Он просто печатает все значения, а не значения между минимальным и максимальным значениями. Есть идеи?

1 Ответ

0 голосов
/ 22 марта 2020

if (i_min < i_origArray[i] < i_max), вероятно, не то, что вы хотите. Если вы хотите проверить диапазон, используйте следующее:

if ((i_min < i_origArray[i]) && (i_origArray[I] < i_max))
...