IIT-Institut International de A.U.
: 2024-2025
Technologie Matière : Atelier de
Programmation
TP n°7
Les pointeurs
Exercice n°1
Qu’affiche le programme suivant :
Exercice n°2
A B C P1 P2
int A=1, B=2, 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;
*P1/=*P2;
33
Exercice n°3
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 ?
Instruction Résultat
++p
*(p+3)
p-&A[4]
--p
A+6
*(p+*(p+8)-A[7])
P==&A[4]
p>=A
Exercice n°4
Ecrire un programme permettant de saisir et afficher les N entiers d’un tableau en utilisant le
formalisme de pointeur.
Ajouter les instructions permettant de déterminer si le tableau est symétrique ou non.
Exercice n°5
Ecrire un programme permettant de saisir au clavier les N entiers d’un tableau en utilisant le
formalisme de pointeur et de chercher une valeur entière donnée dans le tableau. Le programme
affichera la position de la valeur recherchée ou l’inexistence de cette dernière.
Exercice n°6
Ecrire un programme permettant de saisir une chaîne de caractères au clavier et déterminer et afficher
si la chaîne est palindrome ou non.
Exercice n°7
Ecrire un programme qui lit 10 mots au clavier (longueur maximale 50 caractères) et attribue leurs
adresses à un tableau de pointeurs MOT. Réserver dynamiquement l’emplacement en mémoire pour
les mots. Trier les phrases lexicographiquement en n’échangeant que les pointeurs.
Exercice n°8
Ecrire un programme qui lit le jour, le mois et l'année d'une date au clavier et qui affiche la date en
français et en allemand. Utiliser deux tableaux de pointeurs, MFRAN et MDEUT que vous initialisez
34
avec les noms des mois dans les deux langues. La première composante de chaque tableau contiendra
un message d'erreur qui sera affiché lors de l'introduction d'une donnée illégale.
Exemples :
Introduisez la date : 1 4 1993
Luxembourg, le 1er avril 1993
Luxemburg, den 1. April 1993
Introduisez la date : 2 4 1993
Luxembourg, le 2 avril 1993
Luxemburg, den 2. April 1993
35