TD numéro 1 du tronc commun en informatique 1998-99 dirigé par Serge Vaudenay et David Pointcheval.

Manipulation de Tableaux

  1. Ecrire un programme Affiche.java qui prend un nombre arbitraire d'arguments entiers et qui affiche n fois un argument de valeur n. Par exemple, la commande
    Affiche 3 1 0 4
    doit afficher
    3 3 3 1 4 4 4 4
    [
    corrigé]

  2. Quelques méthodes utiles dans la suite.
    1. Faire une méthode
      public static int[] chaineVersEntier(String[] chaineTab)
      qui transforme un tableau de chaînes de caractères chaineTab en tableau d'entiers.
    2. Faire une méthode
      public static void afficheEntierTab(int[] entierTab)
      qui affiche sur une seule ligne un tableau d'entiers.
    3. Faire une méthode
      public static int[] copieEntierTab(int[] entierTab)
      qui retourne un tableau d'entiers identique à entierTab.
    [
    corrigé]

  3. Faire une méthode renverse(int[] entierTab) qui renverse l'ordre des éléments d'un tableau entierTab (sans créer de tableau auxiliaire).
    [
    corrigé]

  4. Faire une méthode estPermutation(int[] perm) qui admet comme argument un tableau perm et qui vérifie qu'il définit une permutation des entiers entre 0 et n-1n=perm.length (autrement dit, que toutes les entrées sont comprises entre ces bornes et représentées une et une seule fois). Faire une méthode de complexité O(n). Faire une méthode qui engendre une permutation aléatoire de n éléments de complexité O(n).
    On pourra se servir des méthodes de l'
    exercice 2.
    [corrigé]

  5. Etant donnée une permutation, écrire une méthode qui donne la liste de ses cycles ainsi que sa parité.
    [
    corrigé]