Exercice : Accès directs

Exercice : Accès directs#

Le principal intérêt d’un tableau est l’efficacité de l’accès direct à n’importe quel élément. Vous allez maintenant définir deux fonctions pour, respectivement, lire et modifier n’importe quelle valeur présente dans le tableau à partir de son index. On supposera ici que, si l’utilisateur fournit un index invalide, rien ne doit être fait.

  1. Définissez tout d’abord une fonction qui renvoie la valeur présente à un index donné, ou \(-1\) si l’index est invalide.

    int vecteur_get(vecteur *v, int index);
    

    BEGIN SOLUTION

    int vecteur_get(vecteur *v, int index) {
        if (index >= 0 && index < v->count) {
            return v->data[index];
        } else {
            return -1;
        }
    }
    

    END SOLUTION

  2. Définissez ensuite une fonction permettant de changer la valeur à un index donné:

    void vecteur_set(vecteur *v, int index, int val);
    

    BEGIN SOLUTION

    void vecteur_set(vecteur *v, int index, int val) {
        if (index >= 0 && index < v->count) {
            v->data[index] = val;
        }
    }
    

    END SOLUTION