Langage C
  Exercices (à consulter régulièrement )
 

Posté le 17/12/2008

Exercice 1

Ecrire une fonction booléenne qui détermine si deux chaînes de caractères sont égales sans distinguer minuscules et majuscules pour les caractères non accentués.


Exercice 2

Ecrire une fonction tousPalindromes à valeur booléenne qui teste si le vecteur de caractères qui lui est transmis contient une chaîne de caractères composée uniquement de mots palindromes. On considère qu'un mot est un ensemble de caractères quelconques bordés soit par un espace, soit par le début ou la fin de la chaîne.

Pour rappel : un palindrome est un groupe de lettres qui peut être lu de gauche à droite ou de droite à gauche.

 

Exemples.

  • tousPalindromes de "SOS ELLE A 1 RADAR !!!" est vrai car "SOS", "ELLE", "A", "1", "RADAR" et "!!!" sont tous des mots palindromes.
  • tousPalindromes de "ESOPE RESTE ICI ET SE REPOSE" est faux car, bien que la phrase soit globalement un palindrome, les mots qui la composent ne sont pas des palindromes.




Refaire les exercices 1 et 4 sur les tableaux (TD3) en utilisant des fonctions. En effet :

Ex1 :  * Ecrire une fonction, lire_tableau, qui remplit un tableau T de N   éléments depuis le clavier.

       * Ecrire une fonction, inserer_valeur, qui insère une valeur dans  un tableau T  trié.

       * Ecrire une fonction, afficher_tableau, qui affiche sur écran les  N éléments d'un tableau T.

       * Ecrire un programme C qui fait appel aux fonctions lire_tableau,   inserer_valeur et

           afficher_tableau. L'espace mémoire pour T (N+1 éléments) sera alloué dynamiquement.

Ex2 :  * Ecrire une fonction, lire_matrice, qui remplit une matrice de m lignes et n colonnes depuis le

             clavier.

           * Ecrire une fonction, transpose_matrice, qui calcule le transpose  d'une matrice A dans une 
               matrice B.

       * Ecrire une fonction, afficher_matrice, qui affiche sur écran les éléments d'une matrice de m 
           lignes et n colonnes.

       * Ecrire un programme C qui fait appel aux fonctions lire_matrice  (A), transpose_matrice et 
           afficher_matrice (A et B). L'espace  mémoire alloué pour la matrice A sera alloué 
           dynamiquement même  chose pour la matrice B.



EX1 :  L’instruction suivante donnera pour  int x = 2 , y = 1 , z = 2 ; 

y  =  x  && y || (z+=2)  ?  x++ : ++x ;

 

x = ?  y = ?  z = ?



EX2 : Laquelle des expressions suivantes n’est pas une expression correcte de C :

  1. a=b+c+=2                  b.  a=b+(c+=2)

c.   a=b+++(c=+2)         d.  a=b+=c<<=1



Ex3 : (programmer un jeu) : Ecrire un programme C qui permet de faire deviner un nombre choisis aleatoirement entre 0 et 100. Le programme signalera à chaque tentative si le nombre proposé est plus petit ou plus grand que la solution. En cas d'égalité, un message de félicitation est affiché ainsi que le nombre de tentative effectué. LE programme donnera la possibilité de rejouer autant de fois qu'on le désire.

N.B. : la fonction rand() de la bibliothèque stdlib.h permet de generer un nombre aléatoire entre 0 et 32767 ( =RAND_MAX : constante définie dans la bibliothèque stdlib.h).

 
  Aujourd'hui sont déjà 1 visiteurs (2 hits) Ici!  
 
Ce site web a été créé gratuitement avec Ma-page.fr. Tu veux aussi ton propre site web ?
S'inscrire gratuitement