:: Enseignements :: ESIPE :: E3INFO :: 2011-2012 :: Programmation C ::
[LOGO]

Fonctions et tableaux


Ce TD permet de manipuler les notions de fonctions et de tableaux en C.

Exercice 1 - Miroir

  • Ecrire un programme miroir qui prend en paramètre une chaîne de caractères et qui l'affiche à l'envers. Par exemple :
    		$>miroir trace
    		ecart		
    		
    Pour cette question, l'utilisation de la fonction strlen est interdite, mais l'écriture d'une fonction renvoyant la longueur d'une chaîne de caractères passée en paramètre est recommandée.
  • Modifier le programme précédent pour qu'il traite plusieurs arguments. Par exemple :
    		$>miroir ecart DNA
    		trace AND
    		
  • Ecrire un programme miroir2 qui affiche toute la ligne de commande à l'envers en remplaçant les espaces par des _ :
    		$>miroir2 ecart DNA
    		AND_trace		
    			

Exercice 2 - Puissance

  • Ecrire une fonction itérative qui prend comme paramètres un entier a et un entier positif non nul n, et qui retourne an.
  • Ecrire maintenant une fonction récursive calculant cette même puissance.

Exercice 3 - Comptage de mots

Écrire une fonction wc qui compte le nombre de caractères, mots (séparés par ' ' ou '\t') et lignes (séparées par '\n') arrivant sur l'entrée standard.

Exercice 4 - Conversion de bases

Écrire un programme qui prend un argument. S'il s'agit d'un mot en minuscules, il l'interprétera comme un nombre en base 26 (avec 'a' équivalent à 0, 'b' équivalent à 1, ..., 'z' équivalent à 25) et renverra sa conversion en base 10. Si l'argument est numérique (récupérable avec atoi), il fera l'opération inverse. Dans tout autre cas, il renverra un erreur. Conseil : écrire deux fonctions qui testent respectivement si un mot n'est formé que de lettres minuscules et si un mot est un numérique.

Exercice 5 - Recherche dichotomique

Ecrire une fonction récursive de recherche dichotomique d'une valeur dans un tableau trié d'entiers de taille n.