TD 3
TD 3
TD 3
Institut Supérieur de Gestion de Tunis, ISG Tunis Algorithmique et Structure de données II – 1ére L.F.I.G 1ére L.A.I.D
TD3
-| Pointeur |-
Exercice1 :
main()
{
int A = 1;
int B = 2;
int C = 3;
int *P1, *P2;
P1=&A;
P2=&C;
*P1=(*P2)++;
P1=P2;
P2=&B;
*P1-=*P2;
++*P2;
*P1*=*P2;
A=++*P2**P1;
P1=&A;
*P2=*P1/=*P2;
return 0;
}
A B C P1 P2
Init. 1 2 3 / /
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/=*P2
1
Université de Tunis Année Universitaire 2015/2016
Institut Supérieur de Gestion de Tunis, ISG Tunis Algorithmique et Structure de données II – 1ére L.F.I.G 1ére L.A.I.D
Exercice 2 :
char *pc;
int *pi,*pj,*pk;
float *pr;
pc = (char*)malloc(10);
pi = (int*)malloc(16);
pr = (float*)malloc(24);
pj = (int*)malloc(sizeof(int));
pk = (int*)malloc(3*sizeof(int));
free(pi);
free(pr);
Pointeurs et tableaux
Exercice 3 :
int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P;
P = A;
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 4 :
Ecrire un programme qui lit deux tableaux d'entiers A et B et leurs dimensions N et M au
clavier et qui ajoute les éléments de B à la fin de A. Utiliser deux pointeurs PA et PB pour
le transférer et afficher le tableau résultant A.
2
Université de Tunis Année Universitaire 2015/2016
Institut Supérieur de Gestion de Tunis, ISG Tunis Algorithmique et Structure de données II – 1ére L.F.I.G 1ére L.A.I.D
Exercice 5 :
Ecrire un programme qui lit une chaîne de caractères CH au clavier et qui compte les
occurrences des lettres de l'alphabet en ne distinguant pas les majuscules et les
minuscules. Utiliser un tableau ABC de dimension 26 pour mémoriser le résultat et un
pointeur PCH pour parcourir la chaîne CH et un pointeur PABC pour parcourir ABC.
Afficher seulement le nombre des lettres qui apparaissent au mois une fois dans le texte.
Exemple:
Exercice 6 :
Exercice 7 :
On veut créer une bibliothèque de plusieurs livres, sous la forme d’un tableau de livres.
1) Écrire une fonction init qui renvoie un tableau de n livres, qui alloue la mémoire
nécessaire et qui initialise les champs à 0 ou à la chaîne de caractères vide.
2) Écrire une fonction qui permet la saisie d’un livre.
2) Écrire une fonction qui affiche un tableau de n livres.
4) Écrire une fonction qui fait l’échange des livres d’indice i et j dans le tableau de livres.