0% ont trouvé ce document utile (0 vote)
23 vues3 pages

TP 2 Pointeur

Le document présente plusieurs exercices sur les pointeurs en programmation, incluant des manipulations de tableaux et des opérations sur des chaînes de caractères. Il demande de compléter un tableau d'états pour un programme donné, ainsi que d'écrire des programmes pour diverses tâches comme l'ajout d'éléments à un tableau, l'inversion d'un tableau, et la vérification de palindromes. Les exercices mettent l'accent sur l'utilisation de pointeurs et de formalismes appropriés dans les solutions.

Transféré par

makrammbarki82
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues3 pages

TP 2 Pointeur

Le document présente plusieurs exercices sur les pointeurs en programmation, incluant des manipulations de tableaux et des opérations sur des chaînes de caractères. Il demande de compléter un tableau d'états pour un programme donné, ainsi que d'écrire des programmes pour diverses tâches comme l'ajout d'éléments à un tableau, l'inversion d'un tableau, et la vérification de palindromes. Les exercices mettent l'accent sur l'utilisation de pointeurs et de formalismes appropriés dans les solutions.

Transféré par

makrammbarki82
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Institut supérieur d'informatique et LSIM1

de multimédia gabes Atelier de Programmation 2024/2025

Les Pointeurs

Exercice 1
Soit le programme suivant :
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;
}
Copiez le tableau suivant et complétez-le pour chaque instruction du programme ci-dessus.

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

1
A=++*P2**P1

P1=&A

*P2=*P1/=*P2;

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
Ecrire un programme qui range les éléments d'un tableau A du type int dans l'ordre inverse. Le
programme utilisera des pointeurs P1 et P2 et une variable numérique AIDE pour la permutation
des éléments.
Exercice 5
Ecrire la fonction LONG_CH qui retourne la longueur d'une chaîne de caractères CH comme
résultat. Implémentez LONG_CH sans utiliser de variable d'aide numérique.

Exercice 6
Ecrire de deux façons différentes, un programme qui vérifie sans utiliser une fonction de <string>,
si une chaîne CH introduite au clavier est un palindrome:
a) en utilisant uniquement le formalisme tableau
b) en utilisant des pointeurs au lieu des indices numériques
Rappel: Un palindrome est un mot qui reste le même qu'on le lise de gauche à droite ou de droite
à gauche:
Exemples: PIERRE ==> n'est pas un palindrome
OTTO ==> est un palindrome
23432 ==> est un palindrome
2
Exercice 7
Ecrire un programme qui lit deux chaînes de caractères CH1 et CH2 au clavier et supprime la
première occurrence de CH2 dans CH1. Utiliser uniquement des pointeurs, une variable logique
TROUVE et la fonction strcpy.
Exemples:
Alphonse phon ==> Alse

totalement t ==> otalement

abacab aa ==> abacab

Vous aimerez peut-être aussi