Vous êtes sur la page 1sur 4

UTech

TRABELSI Ramzi

Série 3: Tableaux et matrices

Tableau à une dimension

Exercice 1 : Tri par sélection du maximum

Réaliser la fonction Tri_selection permettant de Parcourir le tableau de gauche à droite à l'aide de l'indice i. Pour chaque élément A[i] du tableau, déterminer la position PMAX du (premier) maximum à droite de A[i] et échanger A[i] et A[PMAX].

Exemple:

à droite de A[i] et échanger A[i] et A[PMAX]. Exemple: Exercice 2 : Tri à bulles

Exercice 2 : Tri à bulles

Réaliser la fonction Tri_bulles.,On effectue à plusieurs reprises le traitement suivant: On propage, par permutations successives, le plus grand élément du tableau vers la fin du tableau (comme une bulle qui remonte à la surface d'un liquide).

Exemple :

tableau (comme une bulle qui remonte à la surface d'un liquide). Exemple : A.S.D 1 Année

UTech

TRABELSI Ramzi

Exercice 3 Insérer une valeur dans un tableau trié

Un tableau A de taille N+1 contient N valeurs entières triées par ordre croissant; la (N+1) ième valeur est indéfinie. Insérer une valeur VAL donnée au clavier dans le tableau A de manière à obtenir un tableau de N+1 valeurs triées.

Exercice 4 Statistiques des notes

Créer une fonction qui lit les points de N élèves d'une classe dans un devoir et les mémorise dans un tableau POINTS de dimension N.

* Rechercher et afficher:

- la note maximale,

- la note minimale,

- la moyenne des notes.

* A partir des POINTS des élèves, établir un tableau NOTES de taille 7 qui est composé de la façon suivante:

NOTES[6] contient le nombre de notes 60

NOTES[5] contient le nombre de notes de 50 à 59

NOTES[4] contient le nombre de notes de 40 à 49

NOTES[0] contient le nombre de notes de 0 à 9

Etablir un graphique de barreaux représentant le tableau NOTES. Utilisez les symboles ####### pour la représentation des barreaux et affichez le domaine des notes en dessous du graphique.

Idée: Déterminer la valeur maximale MAXN dans le tableau NOTES et afficher autant de lignes sur l'écran. (Dans l'exemple ci-dessous, MAXN = 6).

Exemple:

La note maximale est 58 La note minimale est 13 La moyenne des notes est 37.250000

6

>

#######

5

>

####### #######

4

>

####### ####### #######

3

>

####### ####### ####### #######

2

>

####### ####### ####### ####### #######

1

>

####### ####### ####### ####### ####### +-------+-------+-------+-------+-------+-------+-------+

I 0 - 9 I 10-19 I 20-29 I 30-39 I 40-49 I 50-59 I

60

I

UTech

TRABELSI Ramzi

Matrice

Exercice 5 Matrice unitaire

Ecrire une fonction qui construit et affiche une matrice carrée unitaire U de dimension N. Une matrice unitaire est une matrice, telle que:

/ 1 si i=j u ij = | \ 0 si ij Exercice 6 Transposition d'une matrice

Ecrire une fonction qui effectue la transposition t A 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 7 Multiplication d'une matrice par un réel

/

Ecrire une fonction qui réalise la multiplication d'une matrice A par un réel X.

Rappel:

 

/

\

/

\

|

a b

c d

|

| X*a X*b X*c X*d |

X

*

|

e f

g h

|

=

| X*e X*f X*g X*h |

 

|

i j

k l

|

| X*i X*j X*k X*l |

\

\

/

/

a) Le résultat de la multiplication sera mémorisé dans une deuxième matrice A qui sera ensuite

affichée.

b) Les éléments de la matrice A seront multipliés par X.

Exercice 8 Addition de deux matrices

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' |

\ /

\

/

/

UTech

TRABELSI Ramzi

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 9 Multiplication de deux matrices

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:

les composantes des deux matrices lignes par colonnes: Rappel: / \ / \ / \ |

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 une fonction 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 10 Recherche de 'points-cols'

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: Les éléments soulignés sont des points-cols:

/ \

 

/

\

/

\

/

\

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

|

| 7 2

6

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, telles que:

/ 1 si A[i,j] est un maximum sur la ligne i

MAX[i,j] = |

 

\ 0 sinon

/ 1 si A[i,j] est un minimum sur la colonne j

MIN[i,j] = |

\ 0 sinon