Vous êtes sur la page 1sur 4

EST-SALE GI & ARI

La Programmation C
TP2
Mme F.Guerouate

Exercice 1
crire un programme qui lit la dimension N d'un tableau T du type
int (dimension maximale : 10 composantes), remplit le tableau par
des valeurs entres au clavier et affiche le tableau.
Calculer et afficher ensuite la somme des lments du tableau.

Exercice 2
crire un programme qui lit la dimension N d'un tableau T du type
int (dimension maximale: 10 composantes), remplit le tableau par
des valeurs entres au clavier et affiche le tableau.
Ranger ensuite les lments du tableau T dans l'ordre inverse sans
utiliser de tableau d'aide. Afficher le tableau rsultant.
Ide: changer les lments du tableau l'aide de deux indices
qui parcourent le tableau en commenant respectivement au dbut
et la fin du tableau et qui se rencontrent en son milieu.

Exercice 3
crire un programme qui lit la dimension N d'un tableau T du type
int (dimension maximale: 10 composantes), remplit le tableau par
des valeurs entres au clavier et affiche le tableau.
Copiez ensuite toutes les composantes strictement positives dans
un deuxime tableau TPOS et toutes les valeurs strictement
ngatives dans un troisime tableau TNEG. Afficher les tableaux
TPOS et TNEG.

Exercice 4
crire un programme qui lit la dimension N d'un tableau T du type
int (dimension maximale: 10 composantes), remplit le tableau par
des valeurs entres au clavier et affiche le tableau.
Effacer ensuite toutes les occurrences de la valeur 0 dans le
tableau T et tasser les lments restants. Afficher le tableau
rsultant.

Exercice 5
crire un programme qui lit les dimensions L et C d'un tableau T
deux dimensions du type int (dimensions maximales: 10 lignes et
10 colonnes). Remplir le tableau par des valeurs entres au clavier
et afficher le tableau ainsi que la somme de tous ses lments.

Exercice 6
crire un programme qui lit les dimensions L et C d'un tableau T
deux dimensions du type int (dimensions maximales: 10 lignes et
10 colonnes). Remplir le tableau par des valeurs entres au clavier
et afficher le tableau ainsi que la somme de chaque ligne et de
chaque colonne en n'utilisant qu'une variable d'aide pour la
somme.

Exercice 7
crire un programme qui transfre un tableau M deux
dimensions L et C (dimensions maximales: 10 lignes et 10
colonnes) dans un tableau V une dimension L*C.
Exemple :
a

e
e

h a
l

Exercices d'application
Exercice 8 : Produit scalaire de deux vecteurs
crire un programme qui calcule le produit scalaire de deux
vecteurs d'entiers U et V (de mme dimension).

Exercice 9 : Calcul d'un polynme de degr N


Calculer pour une valeur X donne du type float la valeur
numrique d'un polynme de degr n:
P(X) = AnXn + An-1Xn-1 + ... + A1X + A0
Les valeurs des coefficients An, ... , A0 seront entres au clavier et
mmorises dans un tableau A de type float et de dimension n+1.
Utilisez la fonction pow() pour le calcul.

Exercice 10 : Maximum et minimum des valeurs d'un


tableau
crire un programme 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 11 Tri par slection du maximum


Problme: Classer les lments d'un tableau A par ordre
dcroissant.
Mthode: Parcourir le tableau de gauche droite l'aide de
l'indice I. Pour chaque lment A[I] du tableau, dterminer la
position PMAX du (premier) maximum droite de A[I] et changer
A[I] et A[PMAX].

Exercice 12 Tri par propagation (bulle sort)


Problme: Classer les lments d'un tableau A par ordre
croissant.
Mthode: En recommenant chaque fois au dbut du tableau, on
effectue plusieurs reprises le traitement suivant: On propage,
par permutations successives, le plus grand lment du tableau
vers la fin du tableau (comme une bulle qui remonte la surface
d'un liquide).

Exercice 13 : Insrer une valeur dans un tableau tri


Un tableau A de dimension N+1 contient N valeurs entires tries
par ordre croissant; la (N+1)me valeur est indfinie. Insrer une
valeur VAL donne au clavier dans le tableau A de manire
obtenir un tableau de N+1 valeurs tries.

Exercice 14 : Recherche d'une valeur dans un tableau


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.
Implanter deux versions:
a) La recherche squentielle
Comparer successivement les valeurs du tableau avec la valeur
donne.
b) La recherche dichotomique ('recherche binaire', 'binary
search')
Condition: Le tableau A doit tre tri
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.
crire le programme pour le cas o le tableau A est tri par ordre
croissant.
Question: Quel est l'avantage de la recherche dichotomique?
Expliquer brivement.

Exercice 15 Fusion de deux tableaux tris


Problme: On dispose de deux tableaux A et B (de dimensions
respectives N et M), tris par ordre croissant. Fusionner les
lments de A et B dans un troisime tableau FUS tri par ordre
croissant.
Mthode: Utiliser trois indices IA, IB et IFUS. Comparer A[IA] et B[IB];
remplacer FUS[IFUS] par le plus petit des deux lments; avancer dans le
tableau FUS et dans le tableau qui a contribu son lment. Lorsque l'un
des deux tableaux A ou B est puis, il suffit de recopier les lments
restants de l'autre tableau dans le tableau FUS.