Vous êtes sur la page 1sur 3

Cours : Algorithmique et Programmation C

TD N 4 : Tableaux une et deux dimensions

TD N 4 : Tableaux une et deux dimensions


Exercice 1
Ecrire un programme qui permet de compacter les lments du tableau tab. Cette opration
consiste supprimer les valeurs nulles du tableau.
Exercice 2
Ecrire un algorithme permettant de saisir au clavier un indice i, en prenant soin de vrifier
que cet indice est positif et infrieur au nombre dlments, et dinsrer une valeur v saisie au
clavier la position i (dans le cas o le nombre dlments reste infrieur au max), les valeurs
suivantes devront alors tre dcales).
Exercice 3
Ecrire un algorithme qui dtermine la plus grande et la plus petite valeur dans un tableau
d'entiers A. Afficher ensuite la valeur et la position du maximum et du minimum. Si le tableau
contient plusieurs maxima ou minima, le programme retiendra la position du premier
maximum ou minimum rencontr.
Exercice 4
Problme: Rechercher dans un tableau d'entiers A une valeur VAL entre au clavier. Afficher
la position de VAL si elle se trouve dans le tableau, sinon afficher un message correspondant.
La valeur POS qui est utilise pour mmoriser la position de la valeur dans le tableau, aura la
valeur -1 aussi longtemps que VAL n'a pas t trouve.
Considrer deux cas :
a)Le tableau nest pas ordonn
Implmenter la recherche squentielle
b)Le tableau est ordonn
Implmenter la recherche squentielle
Implmenter la recherche dichotomique, dont le principe est le suivant : Comparer le
nombre recherch la valeur au milieu du tableau, s'il y a galit ou si le tableau est
puis, arrter le traitement avec un message correspondant.
si la valeur recherche prcde la valeur actuelle du tableau, continuer la recherche dans le
demi- tableau gauche de la position actuelle.
si la valeur recherche suit la valeur actuelle du tableau, continuer la recherche dans le
demi- tableau droite de la position actuelle.
Exercice 5
Ecrire un algorithme permettant de raliser les oprations suivantes :
Lire au clavier les n valeurs du tableau, dans un ordre croissant, cest dire quune valeur lue
est accepte seulement si elle est suprieure la prcdente.
Lire au clavier une valeur v.
Insrer cette valeur dans le tableau de faon maintenir lordre croissant.
Exercice 6
On considre deux tableaux tab1 et tab2 tris dans un ordre croissant. Ecrire un algorithme qui
permet de fusionner ces deux tableaux de faon obtenir un tableau tri.

1/3

Cours : Algorithmique et Programmation C

TD N 4 : Tableaux une et deux dimensions

Exercice 7
Ecrire un algorithme qui permet dliminer toutes les rptitions dun tableau, cest dire que
le rsultat du programme doit tre un tableau o chaque lment est prsent une seule fois,
sans modifier lordre initial.
Exercice 8
Ecrire un algorithme qui dtermine si une matrice carre est symtrique ou non. Une matrice
est symtrique si Mij = Mji pour 0<=i<n et 0<=j<n.
Exercice 9
Soit une matrice A deux dimensions NxM. Un point col est un lment de la matrice qui
est minimum de sa ligne et maximum de sa colonne ou inversement. Ecrire un programme qui
affiche les coordonnes de tous les points cols dune matrice A.
Exercice 10
Ecrire un algorithme qui lit une matrice carre n x n dont la dimension est lue au clavier, et
qui remplit et affiche :
un vecteur max contenant les valeurs max de chaque ligne.
Un vecteur min contenant les valeurs min de chaque colonne.
Exercice 11
Etant donne une matrice carre :
Ecrire un algorithme qui met zro les lments de la diagonale principale
Ecrire un algorithme qui permet de calculer la somme de la diagonale principale
Ecrire un algorithme qui permet de calculer la somme des deux diagonales
Ecrire un algorithme qui permet de calculer la somme du triangle infrieur
Exercice 12
Ecrire un algorithme qui calcule la longueur dune chane de caractres
Exercice 13
Ecrire un algorithme qui permet dinverser une chane de caractres
Exercice 14
Ecrire un algorithme qui permet de concatner deux chanes de caractres A et B, cette
opration consiste ajouter la chane A la suite de la chane B.
Exercice 15
Ecrire un algorithme qui permet de tester si une chane de caractres est un palindrome. (un
palindrome est un mot qui peut tre lu dans les deux sens (exemple : RADAR)
Exercice 16
Ecrire un algorithme qui permet de tester si une chane de caractres A est incluse dans une
chane de caractres B.

2/3

Cours : Algorithmique et Programmation C

TD N 4 : Tableaux une et deux dimensions

Exercices d'entranement
Exercice 17 (ancien examen)
Ecrire un algorithme qui permet de dessiner lhistogramme des lments dune matrice
dentiers. Un histogramme est un diagramme qui dtermine le nombre de fois o chaque
lment est prsent dans la matrice.
Exemple :
Soit la matrice :

a
c
a
c

lhistogramme obtenu est :


a
:
*
*
b
:
*
*
c
:
*
*

b
c
b
a

c
b
a
a

a
a
c
a

*
*
*

Pour cela, on se propose de construire deux vecteurs :


- un vecteur elements qui va contenir tous les lments de la matrice une seule fois
chacun.
- Un vecteur histo dans lequel chaque case dindice i indique le nombre de fois o le
caractre elements[i] est prsent dans la matrice.
Exercice 18
Ecrire un programme qui ralise la multiplication d'une matrice A par un rel X. Le rsultat de
la multiplication sera mmoris dans une deuxime matrice B qui sera ensuite affiche.
Exercice 19
Ecrire un algorithme permettant dobtenir la matrice C produit de 2 matrices A (m,n) et
B(n,p).
Exercice 20
Soit un texte crit en Franais et prsent dans une chane de caractres T. On souhaite
calculer le taux moyen dutilisation des diffrentes lettres de lalphabet. On vous demande
donc dcrire un algorithme permettant danalyser le texte T et de retourner un tableau S
compos de 26 lments entiers contenant le taux de prsence de chaque lettre de lalphabet
dans le texte T. (S[0] correspond la lettre A et ainsi de suite).

3/3