Pensez à utiliser les fonctions déjà écrites dans les TD et TP précédents en incluant les fichiers dans votre projet.



Exercice 1

Ecrire un programme qui exécute les étapes suivantes :

  1. Saisir 6 entiers au clavier et les ranger dans un pointeur.
  2. Afficher chaque entier saisi ainsi que son adresse mémoire.
  3. Rechercher le maximum.
  4. Afficher le maximum ainsi que son adresse.

ATTENTION : l'adresse du maximum doit être une des 6 adresses affichées à l'étape 2.

Exercice 2

Connaissez vous le code couleur des résistances qui permet d'en obtenir la valeur en Ω?

Ecrire un programme qui saisi au clavier 3 couleurs parmi le code des couleurs des résistances de la figure suivante et qui calcule la valeur associée :


Image code-couleur-resistance

Pour cela vous écrirez les fonctions suivantes :

  • Une fonction de conversion couleur/valeur qui permettra de récupérer le chiffre associé à chaque couleur.

    int conversionCouleurValeur(const char *couleur);

  • Une fonction de calcul de la valeur de résistance à partir des 3 valeurs numériques correspondant à chaque couleur.

    float calculValeurResistance(int unite, int dizaine, int multiplicateur);

Les prototypes de fonctions seront écrites dans le fichier resistance.h et le code des fonctions dans le fichier resistance.c.

Le calcul se fait grâce à la formule suivante :

R = ( dizaine × 10 + unite ) × 1 0 multiplicateur Ω

Exercice 3

Ecrire un programme travaillant avec les chaîne de caractères qui effectue les opérations suivantes :


  1. Saisir une chaîne de caractères au clavier.
  2. Afficher la taille de la chaîne saisie.
  3. Afficher les caractères de la chaîne saisie et leur adresse mémoire respective.
  4. Saisir une lettre au clavier et compter combien de fois elle apparaît dans la chaîne de caractères saisie. Pour cela vous écrirez la fonction suivante :

  5. int compteurCaractere(const char *s,char c);

  6. Saisir un caractère et une position au clavier. Insérer dans la chaîne de caractères le caractère saisi à la position saisie. Par exemple :

    • chaîne de caractères : toto
    • insérer 'a' à la position 2
    • nouvelle chaîne de caractères : toato

    Pour cela vous écrirez la fonction suivante :

    char *insertCaractere(char *s, int index, char c);

  7. Saisir une lettre au clavier et la supprimer de la chaîne de caractères (même si elle apparaît plusieurs fois!!!). Pour cela vous écrirez la fonction suivante :

  8. char *suppressCaractere(char *s, char c);

Les prototypes de fonctions seront écrites dans le fichier myString.h et le code des fonctions dans le fichier myString.c.


Pour les plus rapides...

Soit le tableau de pointeurs suivant :

char *mois[]={"janvier","fevrier","mars","avril","mai","juin","juillet","aout","septembre","octobre","novembre","decembre"};

Ecrire le code qui permet de :

  • Compter le nombre de lettre de chaque mois;
  • Donner les mois commençant par ...;
  • Classer les mois dans l'ordre croissant (en fonction du nombre de lettre);
  • Classer les mois dans l'ordre alphabétique.