Revenir au sommaire des exercices

Chaines de caractères

Objectif:Etablir une liste de fonctions utiles pour la manipulation de chaines de caractères. Ces fonctions vous feront bien sûr travailler les chaines de caractères lorsque vous les écrirez, mais vous seront également très utiles pour vos futurs programmes, lorsque vous voudrez les réutiliser.
Pour chaque fonction, je vous indique l'en-tête et un rapide descriptif, vous n'aurez plus qu'à écrire le contenu. N'oubliez pas d'écrire également une fonction principale pour tester tous vos exercices.

Afficher

void affiche (char *chaine);
Affiche chaine.

Saisir

char* saisie ();
Renvoie la chaine saisie par l'utilisateur. Pensez à gérer les chaines avec espaces. Attention, scanf(''%s''); ne fonctionne pas si chaine contient des espaces

Nombre de caractères

int longueur_chaine (char *chaine);
Renvoie la taille de chaine, sans utiliser strlen

Présent

int est_present (char *chaine, char c);
Renvoie 1 si c est présent au moins une fois dans chaine

Occurences

int occurrences (char *chaine, char c);
Renvoie le nombre d'occurences de c dans chaine

Nombre de mots

int nb_mots (char *chaine);
Renvoie le nombre de mots de chaine

Inclus

int est_inclus (char *chaine, char *souschaine);
Renvoie 1 si souschaine est inclus dans chaine et 0 sinon. Exemple : fete est inclus dans cafeteria, mais fetes ne l'est pas

Préfixe

int est_prefixe (char *chaine, char *souschaine);
Renvoie 1 si souschaine est préfixe de chaine et 0 sinon. Exemple : cafe est inclus dans cafeteria, mais cafes ne l'est pas

Suffixe

int est_suffixe (char *chaine, char *souschaine);
Renvoie 1 si souschaine est suffixe de chaine et 0 sinon. Exemple : ria est inclus dans cafeteria, mais aria ne l'est pas

Majuscules

void maj_chaine (char *chaine);
Transforme la chaine passée en paramètre pour que tous les caractères soient en majuscule. Exemple maj_chaine( ''Chaîne passée en paramètre''); transforme cette chaine passée en paramètre en CHAINE PASSEE EN PARAMETRE. Attention aux accents et au fait que la chaine est transformée directement, la fonction est de type void.

Copier

char* copie (char *chaine);
Renvoie une chaine de caractères qui est la copie de la chaine passée en paramètre

Comparer

int compare (char *chaine1, char *chaine2);
Renvoie 1 si chaine1 et chaine2 sont identiques, et 0 sinon

Concaténer

char* concatene (char *chaine1, char *chaine2);
Renvoie une chaine de caractères qui concatène les deux passées en paramètre. Exemple : concatene( ''cafe'', ''teria''); renvoie ''cafeteria''.

Inverser

char* inverse (char *chaine);
Renvoie une chaine de caractères qui est l'inverse de la chaine passée en paramètre. Exemple : inverse ( ''chaine''); renvoie la chaine ''eniahc''.

Mélange aléatoire

Ecrivez un programme qui saisit un texte et qui mélange les voyelles de ce texte au hasard. Pour vérifier que votre programme fonctionne bien, vous devrez afficher les deux chaines, l'originelle saisie par l'utilisateur, et la nouvelle modifiée, l'une en-dessous de l'autre.

Revenir en haut

Revenir à la page d'accueil