Adloun

programmation Java (école d'ingénieur) · Chapitre 5 · Exercice de TD

Rotation

Tableaux · niveau 2

Énoncé

Écrire static int[] rotationDroite(int[] t, int k) qui retourne un nouveau tableau, obtenu en décalant les cases de t de k positions vers la droite, les dernières revenant au début : pour {1, 2, 3, 4, 5} et , on obtient {4, 5, 1, 2, 3}. Indication : où va la case d'indice ?

Corrigé

La case d'indice va en , sauf si l'on dépasse la fin : on revient au début en prenant le reste de la division par .


static int[] rotationDroite(int[] t, int k) {
    int n = t.length;
    int[] r = new int[n];
    for (int i = 0; i < n; i++) {
        r[(i + k) % n] = t[i];
    }
    return r;
}

Pour {1, 2, 3, 4, 5} et : [4, 5, 1, 2, 3]. La méthode accepte (une rotation de ne change rien), mais pas : % peut alors donner un reste négatif.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →