Contrôle continu N°2

Exercice 1:

A. Ecrire une fonction Tab_Occ qui calcule le nombre d'occurrences de chaque élément dans un tableau T de N entiers. Elle fournit un tableau contenant ces éléments, sans répétition, avec leurs nombres d'occurrences ainsi que sa taille.

Exemple:  N= 10     T= 12, 23, 12, 12, 45, 23, 12, 45, 12, 23

                 ====>  Résultat:  Tableau: 12, 5, 23, 3, 45, 2    Taille: 6

B. Ecrire un programme principal pour tester la fonction Tab_Occ et afficher le résultat.

Exercice 2:

A. Ecrire une fonction Rotation qui fait une rotation, de N positions à droite, des caractères d'une chaîne S.

Exemple: S="La confiance est le plus court chemin vers le bonheur"   N= 4

                 ====>   S="heurLa confiance est le plus court chemin vers le bon"

B. Ecrire un programme principal pour tester la fonction Rotation et afficher le résultat.

C. Ecrire une fonction Rotation2 similaire à la fonction Rotation mais qui a un  paramètre supplémentaire (entier) qui indique si la rotation est à gauche ou à droite.
D. Modifier le programme principal pour tester la fonction Rotation2 et afficher le résultat.

Exercice 3:

A. Ecrire une fonction Split qui décompose une chaîne de caractères S en mots et les stocke dans un tableau de chaînes de caractères (matrice de type char) passé en argument et retourne le nombre de mots trouvés. Le séparateur des mots dans la chaîne S est donné parmi les  paramètres. 

Exemple:  S= "EMI ; Rabat ; 500"   séparateur: ';'

                 ====>  Valeur de retour: 3     Matrice: "EMI", "Rabat", "500"

B. Ecrire un programme principal pour tester la fonction Split et afficher le résultat.

Exercice 4:

A. Ecrire une fonction StrToInt  qui convertit une chaîne de caractères S en un entier (valeur de retour)  et détermine si la conversion a été effectuée ou non (1 ou 0)

N.B: Votre fonction doit fournir deux valeurs.

Exemples

S= "10345"    ===>   valeur de retour: 10345     succès de la conversion: 1

S= "-329"       ===>   valeur de retour: -329       succès de la conversion: 1

S= "10a45"    ===>   valeur de retour: 0             succès de la conversion: 0

Rappel:                  

      • Si R est un caractère (char) représentant un chiffre ('0', '1', ...., '9')  

                 R -'0'   est le chiffre (entier) équivalent 

      • Pour savoir si un caractère R représente un chiffre ou non:
                                '0' ≤ R ≤ '9'    ou on utilise la fonction booléenne  isdigit(R)

B. Ecrire un programme principal pour tester la fonction StrToInt et afficher le résultat.