OCaml (option informatique) · Chapitre 5 · Exercice de TD
Transposée d'une matrice
Les tableaux · niveau 3 (difficile)
Énoncé
Écrire transpose m qui renvoie la transposée d'une matrice d'entiers lignescolonnes (rectangulaire, non vide).
Corrigé
let transpose m =
let lignes = Array.length m in
let colonnes = Array.length m.(0) in
let t = Array.make_matrix colonnes lignes 0 in
for i = 0 to lignes - 1 do
for j = 0 to colonnes - 1 do
t.(j).(i) <- m.(i).(j)
done
done;
t
La transposée a colonnes lignes et lignes colonnes : on crée t de la bonne forme, puis on recopie m.(i).(j) dans t.(j).(i). Le nombre de colonnes se lit sur la première ligne m.(0) (d'où l'hypothèse « rectangulaire non vide »).
Exercices semblables
- Renverser en place corrigé
- Recherche avec
optioncorrigé - Les fonctions du module
Arraycorrigé - Le piège de la valeur partagée corrigé
- Le crible d'Ératosthène corrigé