TP 5 – Tableaux numériques et pointeurs (Partie 2)
Exercice 1
Soient les trois déclarations suivantes :
float A [ ] = {0.1, 0.2, 0.3, 0.4, 0.5, 1.0, 1.2, 1.3, 1.4, 1.5, 2.0, 2.1, 2.2, 2.3, 2.4} ;
float *P ;
P = &A [7] ;
1) Quelles valeurs ou adresses fournissent les expressions suivantes ?
a - *P ; &P ; &P + 1 ;
b - *(P + 3) ; *(A + 3) ;
c - (P + 5) – &A [5] ; &A [7] – P ;
Exercice 2
Écrire un programme qui range les éléments d'un tableau A de type float dans l'ordre inverse.
Le programme utilisera deux pointeurs p1 et p2 et une variable d’aide tmp pour la permutation
des éléments. Utiliser le formalisme pointeur partout dans le programme.
Exercice 3
Soit T un tableau de dimension N de type entier (dimension maximale : 50). Remplir le
tableau par des valeurs entrées au clavier et afficher le tableau. Écrire un programme qui trie
le tableau T dans l’ordre décroissant. Utiliser le formalisme pointeur partout dans le
programme.
Exercice 4
Soient deux tableaux d’entiers A et B (de dimensions respectives N et M), déjà triés dans
l’ordre croissant. Ecrire un programme qui fusionne les éléments de A et B dans un troisième
tableau C de telle sorte que celui-ci soit aussi trié dans l’ordre croissant. Le programme doit
afficher le tableau final C. On écrira deux versions avec le formalisme tableau et le
formalisme pointeur.
Exercice 5
Ecrire un programme qui lit les dimensions L et C d'un tableau T à deux dimensions du type int
(dimensions maximales : 50 lignes et 50 colonnes). Remplir le tableau par des valeurs entrées au
clavier et afficher le tableau ainsi que la somme de tous ses éléments. On écrira deux versions avec
le formalisme tableau et le formalisme pointeur.
Exercice 6
Ecrire un programme qui lit les dimensions L et C d'un tableau T à deux dimensions du type
int (dimensions maximales : 50 lignes et 50 colonnes). Remplir le tableau par des valeurs
entrées au clavier et afficher le tableau ainsi que la somme de chaque ligne et de chaque
colonne en n'utilisant qu'une variable d’aide pour la somme.
Exercice 7
Ecrire un programme qui transfère un tableau M à deux dimensions L et C (dimensions
maximales : 50 lignes et 50 colonnes) dans un tableau V à une dimension L*C.
Langage C – CP2 R. MALEK 2024/2025