Vous êtes sur la page 1sur 2

Sujet pratique

Le nombre de diagonales droites pour une matrice de taille N * N = (2*N-1)


0 1 2 3
0 5
1 3
2 6 7
3 4

Les valeurs 5, 3 et 6 existent dans la matrice à la diagonale droite 3.


Les valeurs 7 et 4 existent dans la matrice à la diagonale droite 6.

On se propose dans la suite de trier, en ordre croissant, les diagonales droites d’une matrice selon la
démarche suivante :
1- Remplir une matrice carrée M de taille N * N par des chiffres positifs (3 ≤ N ≤ 20).
2- Transférer les valeurs des diagonales droites vers un fichier d’enregistrements ″diag.dat″, tel
que chaque enregistrement est identifié par deux champs :
a. Num : chaine qui commence par la lettre D et le numéro de la diagonale.
b. Diagonale : chaîne formée par les valeurs de chaque diagonale.
3- Trier, en ordre croissant, chaque diagonale existant dans le fichier ″diag.dat″, en appliquant la
méthode de Tri comptage.
4- Stocker, dans un fichier "diag_trier.txt", les nouvelles diagonales après le tri.

Principe général de la méthode de tri :


Soit un tableau T contenant n chiffres (de 0 à 9). On désire trier en ordre croissant les éléments de T
en utilisant la méthode de Tri comptage (tri casier).
Principe
1. Former un tableau TC, dont les indices de 0 à 9, contenant le nombre d’apparition de chaque
chiffre dans le tableau T :
a. Initialiser le tableau TC à 0.
b. Chercher la fréquence de chaque chiffre de T pour remplir TC.
2. Reconstruire T en tenant compte du nombre d’apparition de chaque élément du tableau T.
Exemple :
Soit le nombre de cases du tableau T = 12.

T 5 3 1 5 1 9 8 3 9 0 1 3

0 1 2 3 4 5 6 7 8 9 10 11

Alors le tableau TC (tableau de comptage) contient les valeurs suivantes :

TC 1 3 0 3 0 2 0 0 1 2

0 1 2 3 4 5 6 7 8 9

En fin, en tenant compte du tableau TC, en reconstruit le tableau T en insérant chaque indice de tableau TC autant
de fois dans le tableau T

T 0 1 1 1 3 3 3 5 5 8 9 9

0 1 2 3 4 5 6 7 8 9 10 11

1
2

Vous aimerez peut-être aussi