Sixième série: Exercices Langage C
Les tableaux (deux dimensions)
Exercice 1
Ecrire un programme qui effectue la transposition tA d'une matrice A de dimensions N et M en une matrice de
dimensions M et N.
a) La matrice transposée sera mémorisée dans une deuxième matrice B qui sera ensuite affichée.
b) La matrice A sera transposée par permutation des éléments.
Rappel:
/ \ / \
tA = t | a b c d | = | a e i |
| e f g h | | b f j |
| i j k l | | c g k |
\ / | d h l |
\ /
Exercice 2
Ecrire un programme qui réalise l'addition de deux matrices A et B de mêmes dimensions N et M.
Rappel:
/ \ / \ / \
| a b c d | | a' b' c' d' | | a+a' b+b' c+c' d+d' |
| e f g h | + | e' f' g' h' | = | e+e' f+f' g+g' h+h' |
| i j k l | | i' j' k' l' | | i+i' j+j' k+k' l+l' |
\ / \ / \ /
a) Le résultat de l'addition sera mémorisé dans une troisième matrice C qui sera ensuite affichée.
b) La matrice B est ajoutée à A.
Exercice 3
En multipliant une matrice A de dimensions N et M avec une matrice B de dimensions M et P on obtient une matrice C
de dimensions N et P:
A(N,M) * B(M,P) = C(N,P)
La multiplication de deux matrices se fait en multipliant les composantes des deux matrices lignes par colonnes:
Rappel:
/ \ / \ / \
| a b c | | p q | | a*p + b*r + c*t a*q + b*s + c*u |
| e f g | * | r s | = | e*p + f*r + g*t e*q + f*s + g*u |
| h i j | | t u | | h*p + i*r + j*t h*q + i*s + j*u |
| k l m | \ / | k*p + l*r + m*t k*q + l*s + m*u |
\ / \ /
Ecrire un programme qui effectue la multiplication de deux matrices A et B. Le résultat de la multiplication sera
mémorisé dans une troisième matrice C qui sera ensuite affichée.
Exercice 4
Ecrire un programme qui construit le triangle de PASCAL de degré N et le mémorise dans une matrice carrée P de
dimension N+1.
Exemple: Triangle de Pascal de degré 6:
2013/2014 Prof : K.MATEUR
n=0 1
n=1 11
n=2 121
n=3 133 1
n=4 146 4 1
n=5 1 5 10 10 5 1
n=6 1 6 15 20 15 6 1
Méthode:
Calculer et afficher seulement les valeurs jusqu'à la diagonale principale (incluse). Limiter le degré à entrer par
l'utilisateur à 13.
Construire le triangle ligne par ligne:
- Initialiser le premier élément et l'élément de la diagonale à 1.
- Calculer les valeurs entre les éléments initialisés de gauche à droite en utilisant la relation:
Pi,j = Pi-1,j + Pi-1,j-1
Exercice 5
Rechercher dans une matrice donnée A les éléments qui sont à la fois un maximum sur leur ligne et un minimum sur
leur colonne. Ces éléments sont appelés des points-cols. Afficher les positions et les valeurs de tous les points-cols
trouvés.
Exemples:
/ \ / \ / \ / \
| 1 8 3 4 0 | | 4 5 8 9 | | 3 5 6 7 7 | | 1 2 3 |
| | | 3 8 9 3 | | 4 2 2 8 9 | | 4 5 6 |
| 6 7 2 7 0 | | 3 4 9 3 | | 6 3 2 9 7 | | 7 8 9 |
\ / \ / \ / \ /
Méthode: Etablir deux matrices d'aide MAX et MIN de même dimensions que A.
2013/2014 Prof : K.MATEUR