J'essaie d'implémenter le morceau de code ci-dessous. Mais selon les directives de codage, les éléments suivants doivent être mis en œuvre sans aucune boucle (car, tandis que sont interdits).

Quelqu'un peut-il m'aider à le coder en utilisant les instructions if else?

max= 0.4 / cycleTime;  //The cycle time can vary from 0.05 to 0.2
for(i = max; i>0; i--)
{
    arr[i]= arr[i-1];
    ArrMin = ArrMin.min(arr[i]);
    ArrMax = ArrMax.max(arr[i]);
}
-1
DevLearner 4 nov. 2019 à 07:42

1 réponse

Récurrence FTW !!

int minimum(int *array, size_t len) {
    assert(len > 0);
    if (len == 1) {
        return *array;
    } else {
        int tmp = minimum(array + 1, len - 1);
        return tmp < *array ? tmp : *array;
    }
}

et similaire pour maximum()

0
pmg 4 nov. 2019 à 11:25