Vous êtes sur la page 1sur 2

TD 3 – Programmation en langage C

FST Settat – AU 2015-2016 - Parcours GEGM - Semestre 3


Module GEGM36 : Algorithmique et Programmation 2

Exercise 1. Écrire une procédure (ainsi que le programme principal) permettant de calculer la position
de la première et de la dernière occurrence d’un caractère c dans une chaînes de caractères str. Prototype :
void PremEtDernOccu(char *str, char c, int *premiere, int *derniere)
Exercise 2. Écrire un programme qui lit une matrice A de dimensions N et M au clavier et qui affiche
les données suivantes en utilisant le formalisme pointeur à chaque fois que cela est possible :
a) la matrice A
b) la transposée de A
Exercise 3. On représente un dictionnaire orthographique par un tableau de chaînes de caractères qui
sont les mots du dictionnaire. On suppose que les mots sont classés dans l’ordre alphabétique.
1. Écrire une fonction de recherche d’un mot dans le dictionnaire.
2. Écrire une fonction qui permet de rajouter un mot dans le dictionnaire (Il faut vérifier que le mot
n’existe pas déjà dans le dictionnaire).
Exercise 4. Considérons la structure TypeTableau suivante qui contient l’adresse d’un tableau et le
nombre de ses éléments :

typedef struct STypeTableau {


int nbr_elem;
int *tab;
} TypeTableau;

1. Écrire une fonction qui crée un tableau de n éléments.


2. Écrire une fonction qui libère la mémoire occupée par un tableau.
3. Écrire une fonction qui lit les éléments d’un tableau au clavier. On supposera dans cette fonction
que le tableau a déjà été alloué précédemment.
4. Écrire une fonction qui affiche le contenu d’un tableau.
5. Écrire une fonction qui crée un nouveau tableau de même taille que T mais dont les éléments sont
le double des éléments de T .
6. Écrire un programme principal qui saisit un tableau au clavier, calcule le double de chaque élément
du tableau et affiche les résultats.
Prototype des fonctions :
TypeTableau *CreationTableau(int n);
void DestructionTableau(TypeTableau *T);
void LectureTableau(TypeTableau *T);
void AffichageTableau(TypeTableau T);
TypeTableau *DoubleTableau(TypeTableau *T);
Exercise 5. Un grossiste en composants électroniques vend quatre types de produits : des cartes mères
(référence 1), des processeurs (référence 2), des barrettes mémoire (référence 3) et des cartes graphiques
(référence 4). Chaque produit possède une référence (qui est un nombre entier), une désignation (nom
du produit), un prix et la quantités disponibles.
1. Définir une structure Produit qui représente un produit.
2. Écrire des fonctions/procédures de saisie et d’affichage des données d’un produit.

1
FST Settat – AU 2015-2016 Parcours GEGM - Semestre 3

3. Écrire une procédure permettant à un utilisateur de saisir une commande d’un produit. L’utilisateur
saisit les quantités commandées et les données du produit. L’ordinateur affiche toutes les données
de la commande, y compris le prix.
Exercise 6. Refaire les exercices 4 et 5 en écrivant les définition des fonctions et les définition des
types (structures, etc.) dans un fichier en-tête (.h) et les prototypes des fonctions/procédures dans des
fichiers sources (.c).

Vous aimerez peut-être aussi