Vous êtes sur la page 1sur 2

TD 

: Programmation en langage C

Exercice n° 1
Écrire une fonction maxtab qui recherche la valeur maximale contenue dans un tableau de flottants
(float). La fonction prendra en paramètre le tableau et sa taille. Elle retourna la valeur maximale.
Inclure cette fonction dans un programme qui remplit un tableau avec des valeurs pseudo-aléatoires
et qui l'utilise.

Exercice n° 2
Écrire une fonction search qui recherche une valeur particulière dans un tableau de flottants (float).
La fonction prendra en paramètre le tableau, sa taille et la valeur à rechercher. Elle retourna une
valeur entière qui sera une position de la valeur dans le tableau si elle est présente dans le tableau et
-1 sinon. Inclure cette fonction dans un programme qui saisit les valeurs du tableau et la valeur à
rechercher.

Exercice n° 3
Écrire une fonction copytab qui recopie un tableau dans un autre. Cette fonction prend en paramètre
les deux tableaux et le nombre d'éléments à copier.

Exercice n° 4
Écrire une fonction inverse qui inverse l'ordre des éléments dans un tableau de flottants. Cette
fonction prendra en paramètre le tableau et sa taille. Après l'appel à la fonction inverse, le tableau
contient les mêmes valeurs mais placées dans l'ordre inverse. Ainsi si le tableau contient les
valeurs [2.1, 3.4, 5.6, 7.8, 9.1, 7.4], il devra ensuite contenir les valeurs [7.4, 9.1, 7.8, 5.6, 3.4, 2.1].

Exercice n° 5
Écrire une fonction insere qui insère une nouvelle valeur dans un tableau trié de flottants. Cette
fonction prendra en paramètre le tableau, le nombre d'éléments déjà présents dans le tableau et la
nouvelle valeur. Elle suppose que le tableau de taille assez grande et que les valeurs sont triées dans
le tableau. Utiliser cette fonction avec un programme qui insère au fur et à mesure des valeurs saisies
par l'utilisateur puis qui les affiche dans l'ordre.

Exercice n° 6
- Ecrire un programme qui lit les dimensions L et C d'un tableau T à deux dimensions du type int
(dimensions maximales : 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entrées au
clavier et afficher le tableau ainsi que la somme de tous ses éléments. Pour cela on écrira les
fonctions suivantes :
o void RemplirTableau(void)
o void AfficherTableau(void)
- Ecrire un programme qui réalise l'addition de deux matrices A et B de même dimension N x M (N
et M sont saisies au clavier).
- Ecrire un programme qui réalise le produit de deux matrices carrées de même dimension.

Rappel :

1
Exercice n° 7
Écrivez une fonction qui prend en argument une chaîne de caractères, la renverse sur elle-même
("toto!" a pour miroir ''otot") et retourne l'adresse de cette chaîne.
Prototype : char * miroir (char * s);

Exercice n° 8
Écrivez une fonction qui recherche dans une chaîne chaque caractère C1 pour le remplacer par un
caractère C2 et retourne l'adresse de la chaîne.
Prototype : char * Chercher_remplacer (char C1, char C2, char * s);

Exercice n° 9
Ecrire une fonction qui change toutes les lettres minuscules d’une chaine dont l’adresse est passée
en argument en majuscules. La fonction retournera l’adresse de la chaine destination.
Prototype : char *min2maj(char *dest, char *source)  ;

Exercice n° 10
Considérons les structures suivantes :
- Date définie par trois champs : jour, mois et année ;
- Adresse définie par Numéro, Rue, Commune, Wilaya, CodePostal ;
- Employé définie par Nom, Prénom, Résidence, DateNaissance.

1) Ecrire une fonction SaisirEmployé() qui permet de saisir les informations d’un employé à
partir du clavier.
2) Ecrire une fonction AnneeNaissance() qui permet de vérifier si un employé est né avant une
année donnée.
3) Ecrire une fonction WilayaResidence() qui permet de vérifier si un employé est résidant dans
une wilaya donnée.
4) En utilisant les fonctions ci-dessus, écrire un programme qui permet de :
a. Remplir un tableau appelé Département de N éléments de type Employé, avec N <=
100.
b. Afficher les noms et prénoms des employés résidants dans une wilaya donnée et nés
avant une année donnée.

Exercice n° 11
Écrire une fonction qui stocke dans un tableau des chaînes de caractères lues sur le terminal. Il y a
aura donc un tableau T déclaré par char* T[N] où N est une constante. Les chaînes sont lues dans un
buffer et sont ensuite mises dans le tableau. Lors des tests, créer un fichier data contenant des
chaînes afin d'éviter de les retaper et utiliser les redirections.

Exercice n° 12
Reprendre l'exercice précédent en allouant dynamiquement le tableau T. L'utilisateur saisit
d'abord la taille du tableau puis les chaînes.

Vous aimerez peut-être aussi