Sie sind auf Seite 1von 18

Cours programmation : langage C Annexe1 : TDs

Annexe1 : Liste des Travaux Dirigés

TD N°1 : Familiarisation avec langage C et notions de bases

Exercice 1 :
Ecrire un programme C qui lit un entier x et affiche son opposé.

Exercice 2 :
Ecrire un programme C qui lit trois entiers et affiche leur somme, leur produit et leur moyenne.

Exercice 3 :
Une date est donnée sous forme d’un nombre entier de 6 chiffres. Par exemple 211007 représente
le 21 octobre 2007. Développer un programme C qui accepte en donnée un tel nombre et affiche le
résultat suivant :
Jour : 21
Mois : 10
Année : 2004

Exercice 4 :
Développer un programme C qui pour un rayon donné, renvoie le périmètre du cercle et la surface
du disque.

Exercice 5 :
Une température Tc exprimée dans l’échelle Celsius est liée à la même température TF dans
l’échelle Farenheit par la relation : TF = 32 + 1.8 Tc.
La température TK exprimée en degrès Kelvin est liée à Tc par la relation TK = 273 + Tc

Ecrire un programme C qui admet en donnée la température exprimée dans l’échelle Farenheit et
renvoie en résultat la même température exprimée en degrés Kelvin.
Cours programmation : langage C Annexe1 : TDs

TD N°2 : Structures conditionnelles

Exercice 1 :
Ecrire un programme C qui pour deux entiers donnés, affiche le maximum.

Exercice 2 :
Ecrire un programme C qui lit trois entiers A, B, et C et affiche le max et le min.

Exercice 3 :
Développer un programme C qui permet de résoudre l’équation ax + b = 0

Exercice 4 :
Développer un programme C qui permet de résoudre l’équation ax2 + bx + c = 0

Exercice 5 :
Ecrire un programme C permettant de dire pour un jour de la semaine, ce qu’il y a à faire sachant
que :
 Du lundi au vendredi, il y a cours
 Samedi il y a DS
 Dimanche on se repose

Exercice 6 :
Ecrire un programme C qui permet de lire la moyenne d’un étudiant, de type réel, est d’afficher la
mention correspondante en utilisant la structure SELON sachant que :
 Moy < 10 : « Non admis »
 10 >= Moy < 12 : « Passable »
 12 >= Moy < 14 : « Assez Bien »
 14 >= Moy < 17 : « Bien »
 17 >= Moy < 18 : « Très Bien »
 18 >= Moy < 20 : « Excellent »
 Moy = 20 : « Parfait »

Exercice 7 :
Ecrire un algorithme qui permet de dire si une année est bissextile ou non. Une année est bissextile
si elle est divisible par 4 sauf dans le cas où elle est divisible par 100 et non divisible par 400.

Exercice 8 :
Ecrire un programme C qui simule le fonctionnement d’une calculatrice ayant les opération
suivantes (+, -, /, *)
La forme d’une opération est : opérande1 opérateur opérande2

Exercice 9 :
Ecrire un programme C qui permet de programmer un distributeur automatique de billets de
banque de telle façon qu’il renvoie le minimum possible de billets.
Le DAB n’accepte que les sommes multiples de 5.
Le DAB distribue des billets de 30, de 20, de 10 et de 5.
Cours programmation : langage C Annexe1 : TDs

Exercice 10 :
On désire calculer le montant de la facture d’électricité d’un abonné sachant que l’abonné :
1. Paye 2.500 DT (frais d’abonnement) même s’il n’a rien consommé.
2. Paye sa consommation selon un tarif à tranches :
a. 0.100 DT, par KWh, pour les 100 premiers KWh
b. 0.175 DT, par KWh, pour les 150 KWh suivants
c. 0.225 DT, par KWh, pour la fraction de consommation qui excède 250 KWh
3. Paye la TVA pour un taux de 8%.

Ecrire un programme C qui lit deux valeurs entières : l’ancien index et le nouvel index pour
déterminer la consommation d’électricité en KWh et affiche le montant à payer hors taxe et le
montant toutes taxes comprises.
N. B :
La consommation est mesurée en KWh.
Consommation en KWh = nouvel index - ancien index
Montant toutes taxes comprises = montant hors taxe * (1 + TVA)

Exercice 11 :
On veut calculer les impôts à payer par une personne ayant un montant imposable MI pour toute
sa famille. On doit calculer d’abord le revenu imposable RI en diminuant MI de 10% puis en
diminuant le résultat obtenu de 20% (RI = (MI * 0.9) * 0.8).

Soit N représentant le nombre de personnes de la famille.

On appelle quotient familial QF = RI / N.

On se propose de calculer l’impôt à payer IMP comme suit :


 IMP = 0 si QF < 1800
 IMP = (RI * 0.15) – (140 * N) si 1800  QF < 2500
 IMP = (RI * 0.25) – (420 * N) si 2500  QF < 4500
 IMP = (RI * 0.35) – (940 * N) si 4500  QF  6000
 IMP = (RI * 0.45) – (3040 * N) si QF > 6000

1)- Ecrire un programme C qui permet de lire MI et N et de calculer IMP en utilisant un schéma
conditionnel avec des SI imbriqués.

2)- Reprendre uniquement la partie conditionnelle du programme en utilisant une structure


SELON.
Cours programmation : langage C Annexe1 : TDs

TD N°3: Structures répétitives

Exercice 1 :
Ecrire un programme C qui permet de lire deux entiers et de calculer leur produit par additions
successives.

Exercice 2 :
Ecrire un programme C qui permet de calculer et d’afficher la somme et le produit des 100
premiers nombres positifs.

Exercice 3 :
Ecrire un programme C lit un nombre entier N et affiche sa table de multiplication :
Exemple : Pour N = 5, l’algorithme affiche :
5x0=0
5x1=5
5 x 2 = 10
5 x 3 = 15

5 x 10 = 50

Exercice 4 :
Ecrire un programme C qui permet de lire un entier entre 10 et 20 et d’afficher la somme
1 1 1
harmonique : S  1    ...
2 3 n
Exercice 5 :
Ecrire un programme C qui permet de calculer et d’afficher la valeur de S donnée par l’expression
suivante :
n m
S   (i  j ) 2
i 1 j  0

Les entiers naturels non nuls n et m sont saisis au clavier par l’utilisateur.
Reprendre cet algorithme en utilisant la structure TANT QUE.

Exercice 6 :
Ecrire un programme C qui permet de saisir trois entiers a, b et n strictement positifs puis calcule
et affiche la somme suivante:
n
S= (a1ib)
i 0
= 1/a + 1/(a+b) +1/(a+2*b) + 1/(a+3*b) +.....+1/(a+n*b)

Exercice 7 :
Ecrire un programme C permettant de calculer l’expression suivante :

n
(1) k x
F(x) =  ( ) n2 k
k 0 k! (n  k )! 2
Cours programmation : langage C Annexe1 : TDs

Exercice 8 :
Soit la suite Un définie par : U0 = 1
Un+1 = 5 Un + 3
Ecrire un programme C qui permet de lire n et de calculer la suite Un pour un rang n.

Exercice 9 :
Soit les suites Un et Vn définies par : U0 = 5
V0 = 3
Un+1 = 5 Vn - 2 Un + 3
Vn+1 = 3 Vn + 7

Ecrire un programme C qui permet de lire n et de calculer la suite Un et la suite Vn pour un rang
n.

Exercice 10 :
Ecrire un programme C fournissant la moyenne d’un nombre n de notes obtenues par des élèves.
Le premier nombre lu sur l’organe d’entrée est n, les suivants étant les notes.

Exercice 11 :
Ecrire un programme C lit un nombre entier N strictement positif.
Ce programme traitera N nombres réels positifs ou négatifs de la manière suivante :
 Les N réels sont lus à partir du clavier
 Le programme calcule et affiche les résultats suivants :
- NE : le nombre de valeurs entières
- SP : la somme des réels positifs
- SN : la somme des réels négatifs
- NP : le nombre des réels positifs
- NN : le nombre des réels négatifs

Exercice 12 :
1/ Ecrire un programme C lit un nombre entier et décide s’il est premier ou non.

2/ Modifier le programme pour qu’il lit un nombre entier N strictement positif et affiche les
nombres premiers inférieurs à N.

Exercice 13 :
1/ Ecrire un programme C qui permet de lire un texte caractère par caractère ; le texte se termine
par un point. Ce programme doit afficher le nombre de d’apparition du caractère ‘a’.

2/ Pour cette question le programme doit afficher le nombre de d’apparition de la suite "es".

Exercice 14 :
Ecrire un programme C qui permet de lire un nombre entier et qui détermine combien de fois
est-il divisible par 2.
Par exemple : - 11 est divisible zéro fois par 2.
- 8 est divisible 3 fois par 2. (8/2=4 ; 4/2=2 ; 2/2=1)
- 12 est divisible 2 fois par 2. (12/2=6 ; 6/2=3)
Cours programmation : langage C Annexe1 : TDs

TD N°4 : Les Tableaux

Exercice 1 :
Ecrire un programme C qui lit et affiche les éléments d’un tableau de N entiers (max. 50) dans
l’ordre des indices décroissants (de droite à gauche).

Exercice 2 :
Ecrire un programme C qui calcule le nombre d’occurrences de la valeur val dans un tableau Tab
de N entiers (max.50).

Exercice 3 :
Ecrire un programme C qui calcule le maximum et le minimum des éléments d’un tableau Tab de
N entiers (max.50).

Exercice 4 :
Ecrire un programme C qui permet d’afficher si une valeur X existe dans un tableau Tab de N
réels ou non (max.50).

Exercice 5 :
Ecrire un programme C qui permet de trier un tableau Tab de N réels dans l’ordre croissant.

Exercice 6 :
Ecrire un programme C qui permet d’afficher si deux tableaux sont égaux ou non.

Exercice 7 :
Ecrire un programme C qui permet d’afficher :
- le nombre d’apparition d’une valeur X donnée dans un tableau T de N entiers (max.50)
- la position de la première apparition de X
- la dernière position d’apparition de X

Exercice 8 :
Ecrire un programme C qui permet d’insérer un élément X dans tableau d’entiers T trié.

Exercice 9 :
Ecrire un programme C qui permet de supprimer un élément X donné dans un tableau T de N
entiers donné.

Exercice 10 :
Etant donné un tableau d’entiers trouver et afficher l’élément le plus proche de la moyenne.

Exercice 11 :
Ecrire un programme C qui permet de fusionner 2 tableaux triés.

Exercice 12 :
Transférer les éléments d’un tableau V1 dans un tableau V2 selon le principe suivant :
Les éléments de rang impair de V1 sont rangés dans V2 en ordre inverse en commençant par la fin
de V2, et les éléments de rang pair de V1 sont rangés dans V2 dans le même ordre.
(V1 est de longueur impaire)
Cours programmation : langage C Annexe1 : TDs

Exemple :

V1 -1 2 7 1 3 1 -2 V2 2 1 1 -2 3 7 -1

Exercice 13 :
Ecrire un programme C qui effectue la mise à 0 de la diagonale principale d’une matrice carré
d’entiers M(N*N) .

Exercice 14 :
Ecrire un programme C qui multiplie une matrice carré d’entiers M(N*N) par un réel X donné.

Exercice 15 :
Ecrire un programme C qui permet de dire si un élément X existe dans une matrice d’entiers ou
non Mat(M*N).

Exercice 16 :
Ecrire un a programme C qui calcule le nombre d’apparition d’un entier Y dans une matrice
d’entiers Mat(M*N).

Exercice 17 :
Ecrire un programme C qui calcule la transposé d’une matrice.

1 5 6 8 1 9 2
9 7 0 3  5 7 4
2 4 1 0 6 0 1
8 3 0

Exercice 18 :
Soit A et B deux matrices carrées de réels de dimension respectives 5 et 10. La matrice B est
définie comme suit :

A
O
B=
O -A

O est la matrice nulle de dimension 5.


Ecrire un programme C qui permet la lecture de la matrice A et la génération de la matrice B.
Exercice 19 :
Cours programmation : langage C Annexe1 : TDs

On appelle carré une matrice de n lignes et de n colonnes contenant des entiers naturels. Le carré
est magique si, en effectuant la somme de tous les nombre d’une ligne ou d’une colonne, le
résultat est le même quelle que soit la ligne ou la colonne. Voici un exemple :

8 6 1 = 15
4 2 9 = 15
3 7 5 = 15
= = =
15 15 15

Ecrire un programme C qui permet de :


1- Définir un type carré. On pourra supposer qu’on travaille avec des carrés de dimension
inférieure à 6
2- Remplir un carré
3- Déterminer si un carré est magique ou non
Cours programmation : langage C Annexe1 : TDs

TD N°5 : Les chaines de caractères

Exercice 1 :
On appelle bigramme une suite de 2 lettres. Ecrire un programme C qui calcule le nombre
d’occurrences d’un bigramme donné dans une chaine de caractères.

Exercice 2 :
Ecrire programme C qui permet de tester si un mot est un palindrome ou non.
Un mot est dit palindrome s’il se lit de la même manière de gauche à droite ou de droite à gauche.
Exemple : LAVAL, AZIZA, AFIFA.

Exercice 3 :
Ecrire un programme C qui lit un entier et qui l’affiche sur 7 caractères en remplaçant tous les
espaces par des ‘*’.
Exemple :
245 ………………. ****245
-1345 ……………. **-1345

Exercice 4 :
Une chaîne de caractères W est un carré s’il existe une chaîne U telle que W = UU ( par exemple
"chercher" et "bonbon" sont des carrés).
Ecrire un programme C qui dit si une chaîne est carrée ou non.

Exercice 5 :
Ecrire un programme C permettant de traduire une phrase en français, ne contenant que des lettres,
en JANAVAIS.
Il s'agit d'ajouter "AV" à chaque fois que l'on rencontre une consonne suivie d'une voyelle.
Les voyelles sont : 'a', 'e', 'i', 'o', 'u', 'y'
Exemple :
Phrase en français : "Je travaille"
Phrase en JANAVAIS : "JAVe trAVavAVaillAVe"
Cours programmation : langage C Annexe1 : TDs
Cours programmation : langage C Annexe1 : TDs

TD N°6 : Les Fonctions

Exercice 1 :
Ecrire une fonction qui permet de permuter deux entiers.
Ecrire une fonction qui permet de remplir un tableau.
Ecrire une fonction qui permet d’afficher un tableau.
En utilisant les fonctions précédentes, écrire une fonction qui lit les valeurs d’un tableau et
affiche le tableau trié.

Exercice 2 :
1. Ecrire une fonction qui prend en paramètre un entier et retourne combien de fois il est
divisible par 2.
2. Ecrire un programme C qui lit un entier et affiche le nombre de fois il est divisible par 2.

Exercice 3 :
1. Ecrire une fonction qui permet de remplir un tableau.
2. Ecrire une fonction qui retourne vrai si un tableau est trié et Faux sinon.
3. Ecrire un programme C qui lit les valeurs d’un tableau et affiche si ce tableau est trié ou
non.

Exercice 4 :
1. Ecrire une fonction qui retourne le minimum de deux entiers en utilisant la formule
suivante : Min(x, y) = (x+y - |x-y|)/2
2. Ecrire un programme C qui lit deux entiers et affiche le minimum.

Exercice 5 :
Ecrire une fonction qui prend en paramètre une chaîne et un caractère et retourne la dernière
apparition du caractère dans la chaîne, elle retourne 0 si le caractère n’existe pas.

Exercice 6 :
Une agence de location de voitures propose deux formules tarification :
4. Location au kilomètre :
a. 0.120 DT, par Km, pour les 100 premiers Km
b. 0.150 DT, par Km, pour les 900 Km suivants
c. 0.170 DT, par Km, pour la fraction de kilométrage qui excède 1000 Km
5. Forfait journalier :
a. 75 DT, par jour avec kilométrage illimité
Ecrire un programme C qui :
- lit le nombre de jour de location et le nombre total de kilomètres.
Cours programmation : langage C Annexe1 : TDs

- calcule et affiche les coûts totaux des deux tarifications (coût Location au kilomètre et
coût du Forfait journalier) et indique par un message la solution la plus avantageuse pour
un client.
En utilisant une fonction qui calcule le coût au Km et une fonction qui calcule le coût au forfait
journalier.

Exercice 7 :
Ecrire un programme C qui permet de vérifier si un tableau unidimensionnel d’entiers et de 10
éléments saisis au clavier est bien symétrique ou non.
Exemple :

1 2 3 4 5 5 4 3 2 1 : Tableau symétrique

3 5 6 9 8 8 9 6 5 3 : Tableau symétrique

4 6 8 7 4 2 6 9 6 5 : Tableau non symétrique

Le programme utilisera les sous programmes suivants :


- Une fonction permettant la saisie des éléments du tableau.
- Une fonction « Symétrique » qui pour un tableau donné retourne s’il est symétrique ou
non.
Exercice 8 :
Ecrire un programme C qui permet de vérifier si la différence entre deux éléments successifs
d’un tableau d’entiers et de 10 éléments saisis au clavier est bien constante en valeur absolue ou
non.
Exemple :

1 3 5 7 9 7 5 7 9 1 : Différence constante de 2
1

1 5 6 9 8 5 3 2 1 6 : Différence non constante

Le programme utilisera les sous programmes suivants :


- Une fonction permettant la saisie des éléments du tableau.
- Une fonction « Différence » qui pour un tableau donné retourne si la différence est
constante ou non et la valeur de la différence.

Exercice 9 :
Ecrire un programme C qui calcule la transposé d’une matrice en utilisant les procédures
suivantes :
 Fonction de remplissage de la matrice
Cours programmation : langage C Annexe1 : TDs

 Fonction de calcul de la transposé


 Fonction d’affichage de la transposé

1 5 6 8 1 9 2
9 7 0 3  5 7 4
2 4 1 0 6 0 1
8 3 0
Cours programmation : langage C Annexe1 : TDs

TD N°7 : Les Structures

Exercice 1 :
Soit un stock de 1000 articles dont chacun est caractérisé par sa référence, son nom et son prix.
1- Saisir les données du stock
2- Trouver toutes les références des articles dont le prix est compris entre deux prix donnés.
3- Trouver le prix d’un article dont la référence est données.

Exercice 2 :
Une chambre d’agriculture désire faire des statistiques sur les éleveurs de moutons (100 éleveurs).
Un éleveur est caractérisé par son nom, le nombre de brebis, le nombre de béliers et le nombre
d’agneaux.

1. Proposer une structure de données permettant de représenter les éleveurs (tableaux


d’éleveurs).
2. Saisir les données des éleveurs.
3. Afficher le nom et nombre d’animaux de l’éleveur ayant le plus grand troupeau.

Exercice 3 :
On se propose de gérer les étudiants d’un institut. On suppose que nous avons 100 étudiants et que
chacun est caractérisé par son nom, son prénom, son CIN et suit 3 matières dont chacune possède
un coefficient. Chaque étudiant possède une moyenne.

1. Proposer une structure de données permettant de gérer les étudiants


2. Ecrire une fonction permettant de lire les noms, les prénoms, les CIN et les notes et
initialiser les moyennes à 0.
3. Ecrire une fonction permettant calculer la moyenne de chaque étudiant.
4. Ecrire une procédure permettant de classer les étudiants selon leurs moyennes.
5. Ecrire un programme qui utilise ces sous programmes et affiche les nom et CINs des
étudiants par ordre de mérite

Exercice 4 :
Le but de cet exercice consiste à évaluer le stock d’une entreprise. On dispose d’une centaine
d’articles ; chacun est identifié par sa référence et caractérisé par son prix et sa quantité. On vous
demande de:

a) Proposer une structure de données permettant de gérer les données du stock.


b) Ecrire une procédure qui réalise l’entrée des quantités en stock et les prix.
c) Ecrire une procédure qui majore de 20% les prix des articles dont la quantité dépasse 1000.
d) Ecrire une procédure qui affiche les articles en rupture de stock.
e) Ecrire une fonction qui retourne l’article le plus cher.
f) Ecrire l’algorithme principal qui rassemble tous ces sous programmes

Exercice 5:
Une chambre d’agriculture désire faire des statistiques sur les éleveurs de moutons (100 éleveurs).
Un éleveur est caractérisé par son nom, le nombre de brebis, le nombre de béliers et le nombre
d’agneaux.
Cours programmation : langage C Annexe1 : TDs

1. Proposer une structure de données permettant de représenter les éleveurs (tableaux


d’éleveurs).
Type Eleveur =

Type Tab =

2. Ecrire une procédure qui permet de lire les données des différents éleveurs. Compléter
l’entête des procédures en indiquant le mode de passage des paramètres.
Procédure Remplir (….V : Tab)

3. Ecrire une procédure qui pour un éleveur donné, calcule le nombre total de ses animaux et
le pourcentage d’agneaux par rapport à l’ensemble de ses animaux.
Procédure Stat (.…E :Eleveur, .…Nbtotal : Entier, .…Pourc : Réel)

4. En utilisant la procédure Stat, écrire une procédure qui affiche pour chaque éleveur son
nom, le nombre total de ses animaux et le pourcentage d’agneaux par rapport à l’ensemble
de ses animaux.
Procédure Affiche (….V :Tab)

5. Ecrire une fonction qui retourne le nombre d’animaux que possède en moyenne un éleveur.
Fonction Moyenne (V :Tab)…..

6. Ecrire une Fonction qui retourne l’indice de l’éleveur ayant le plus grand troupeau.
Fonction Maxi (V : Tab) : entier

7. Ecrire un algorithme qui fait appel aux sous-programmes ci-dessus pour :


 lire les données des différents éleveurs,
 afficher pour chaque éleveur son nom, le nombre total de ses animaux et le
pourcentage d’agneaux par rapport à l’ensemble de ses animaux,
 afficher le nombre d’animaux que possède en moyenne un éleveur et
 afficher le nom et nombre d’animaux de l’éleveur ayant le plus grand troupeau.

Exercice 14 :
On se propose de manipuler un tableau de personnes trié selon l’âge.
Une personne est caractérisée par le nom, le prénom, l’âge et le sexe et l’état civil. Selon la valeur
de l’état civil s’il est égal à 1, il faut indiquer si cette personne est fiancée ou non et s’il est égal à
2, on donne le nombre de ses enfants.
On suppose que le tableau est trié dans l’ordre décroissant de l’âge.

1. Proposer une structure de données permettant de représenter les personnes


2. Ecrire les fonctions et les procédures suivantes :
a. Ajout-personne : Cette procédure permet d’ajouter une personne dans le tableau
de façon que le tableau reste trié.
b. Répartition : Cette procédure permet de répartir le tableau en 2 tableaux :
i. Tab-homme qui contient les personnes dont le sexe = « Masculin » et
ii. Tab-femme qui contient les personnes de sexe = « Féminin »
c. Superieure_age : Cette fonction permet de calculer le nombre de personnes ayant
un âge supérieur à l’âge spécifié dans l’argument
d. Moyenne-enfant : Cette fonction calcule la moyenne des enfants pour les
personnes mariées (Etat = 2 si la personne est mariée, 1 sinon)
Cours programmation : langage C Annexe1 : TDs

TD N°8 : Les Pointeurs

Exercice 1
Complétez-le pour chaque instruction du programme ci-dessus
A B C P1 P2
int A = 1, B = 2, C = 3;
1 2 3 / /
int *P1, *P2;
P1=&A; 1 2 3 &A /
P2=&C;
*P1=(*P2)++ ;
P1=P2 ;
P2=&B ;
*P1-=*P2 ;
++*P2 ;
*P1*=*P2 ;
A=*P2**P1 ;
P1=&A ;
*P2/=*P1 ;

Exercice 2

Soit P un pointeur qui 'pointe' sur un tableau A:

int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P;
P = A;
Quelles valeurs ou adresses fournissent ces expressions:
a) *P+2
b) *(P+2)
c) &P+1
d) &A[4]-3
e) A+3
f) &A[7]-P
g) P+(*P-10)
h) *(P+*(P+8)-A[7])

Exercice 3

Ecrire un programme qui lit deux tableaux A et B et leurs dimensions N et M au


clavier et qui ajoute les éléments de B à la fin de A. Utiliser le formalisme pointeur à
chaque fois que cela est possible.

Exercice 4
Cours programmation : langage C Annexe1 : TDs

Ecrire un programme qui lit un entier X et un tableau A de type int au clavier et


élimine toutes les occurrences de X dans A en tassant les éléments restants. Afficher
le tableau A.
Le programme utilisera les pointeurs P1 et P2 pour parcourir le tableau.

Exercice 5
Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension
maximale: 100), remplit le tableau par des valeurs entrées au clavier et affiche le
tableau.
Copiez ensuite toutes les composantes strictement positives dans un deuxième
tableau TPOS et toutes les valeurs strictement négatives dans un troisième tableau
TNEG. Afficher les tableaux TPOS et TNEG.
NB : Utiliser des pointeurs.

Exercice 6
Ecrire un programme qui lit une chaîne de caractères CH et détermine la longueur
de la chaîne à l'aide d'un pointeur PH. Le programme n'utilisera pas de variables
numériques.

Exercice 7
Ecrire un programme qui lit 5 mots (une phrase de longueur maximale de 50
caractères) et les mémorise dans un tableau de chaînes de caractères TABCH.
Inverser l'ordre des caractères à l'intérieur des 5 mots à l'aide de deux pointeurs P1
et P2. Afficher les mots.

Exercice 8
Soient deux tableaux d’entiers T1 (maximum 50) et T2 (max 100). Ecrire un
programme C qui permet de vérifier que T2 existe dans T1.
Si T2 existe dans T1, alors supprimer les éléments de T2 dans T1.
NB : Utiliser le formalisme pointeur.

Exemple :
T2 15 8 0 2 9

T1 1 11 15 8 0 9 13 23 100

 T2 existe dans T1

 T1
1 11 23 100

Exercice 9

Ecrire un programme qui lit deux matrices A et B de dimensions N et M


respectivement M et P au clavier et qui effectue la multiplication des deux matrices.
Cours programmation : langage C Annexe1 : TDs

Le résultat de la multiplication sera affecté à la matrice C, qui sera ensuite affichée.


Utiliser le formalisme pointeur à chaque fois que cela est possible.

Exercice 10

Ecrire une fonction qui permet de rechercher dans un tableau d'entiers tab une
valeur A.
void ChercherVal (int tab[], int n, int A, int *pos, int *nbOcc);
Dans pos, la fonction sauvegarde l'indice de la dernière apparition et -1 si la valeur
n'a pas été trouvée. Dans nbOcc, elle sauvegarde le nombre d'occurrence de A dans
tab.
Exercice 11

1- Écrire une fonction est EstVoyelle qui prend en paramètre un caractère et retourne 1 si
ce caractère est une voyelle et 0 si non.
2- Écrire une fonction NbVoyelle:
void NbVoyelles(char ch[], int *v, int *s)
À travers v, la fonction sauvegarde le nombre de voyelles dans la chaîne ch. Dans s,
la fonction sauvegarde le nombre de consonnes.

Exercice 12
Ecrire une fonction qui permet de rechercher dans un tableau d'entiers tab de taille
n les deux plus grandes valeurs :
void deux_max (int T[ ], int n, int *max1, int *max2);

Exemple: si T=[3, 1, 5, 5, 3, 6, 2, 6] alors max1=6 et max2 = 5.

Exercice 13

Ecrire une fonction SupprimerC qui à partir d’un texte TXT et d’un caractère C
enlève tous les caractères C du text(e TXT. Les modifications se feront dans
la même variable TXT.
TXT="Cette ligne contient quelques lettres e"
C='e'
Alors TXT="Ctt lign contint qulqus lttrs"

Das könnte Ihnen auch gefallen