Vous êtes sur la page 1sur 2

Ministère de l’enseignement Supérieur et de la Recherche Scientifique

Université des Sciences et de la Technologie Houari Boumediene


Faculté de Génie Electrique Module: Programmation en C++
Département d’Automatique 3éme année Licence
Nom :………………………..………………… Prénom :………………….…………….

TP No3 : TABLEAU & POINTEUR EN C++

Objectif du TP

Comme tous les langages, C++ permet d’utiliser des tableaux et des pointeurs .Il se trouve
qu’en C++ un lien indirect existe entre ces deux notions. On va découvrir au cours de ce TP
la mise en pratique de ces deux notions structurées à savoir :

 Les tableaux
 Les pointeurs

Travail demandé

Exercice 1

Supposons que nous souhaitions déterminer, à partir de dix notes d’étudiants (fournies en
données), combien d’entre elles sont supérieures à la moyenne de la classe. S’il ne s’agissait
que de calculer simplement la moyenne de ces notes, il nous suffirait d’en calculer la somme,
en les cumulant dans une variable. Mais, ici, il nous faut à nouveau pouvoir consulter les
notes pour déterminer combien d’entre elles sont supérieures à la moyenne ainsi obtenue. Il
est donc nécessaire de pouvoir mémoriser ces dix notes. Pour ce faire, il paraît peu
raisonnable de prévoir dix variables scalaires différentes (méthode qui, de toute manière,
serait difficilement transposable à un nombre important de notes). Ecrire un programme qui
offre une solution convenable à ce problème, en utilisant la notion des tableaux.

Exercice 2

Comme la plupart des langages, C++ autorise les tableaux à plusieurs indices Par exemple, la
déclaration :

int tab[3][7]

Ordonnez (rangez) en mémoire les éléments du tableau tab déclaré précédemment

Exercice 3

Ecrire un programme qui initialise les tableaux suivants :

1. int tab[7] = { 1, 3, 17, 0, 5 } ;


2. int tab[] = { 10, 20, 5, 0, 3 } ;
3. On déclare un tableau constant et l’initialiser comme dans :
const char voyelles [] = {’a’, ’e’, ’i’, ’o’, ’u’, ’y’} ;
Est ce qu’on peut modifier le tableau par la valeur suivante : voyelles [5] = ’a’ ;
4. Tableau composé de trois tableaux de quatre éléments chacun.
5. Tableau dont les éléments sont rangés en mémoire, et elle se contente d’énumérer les
valeurs du tableau suivant dans cet ordre : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

1
Ministère de l’enseignement Supérieur et de la Recherche Scientifique
Université des Sciences et de la Technologie Houari Boumediene
Faculté de Génie Electrique Module: Programmation en C++
Département d’Automatique 3éme année Licence
Exercice 4

Voyez, ce que produirait le programme suivant :

ptr1 = &a ;

ptr 2 = &b ;

* ptr 1 = * ptr 2 + 2 ;

Quel est le rôle de cette instruction : * ptr 1 = * ptr 2 + 2 ;

Exercice 5

Ecrire un programme qui fait l’allocation d’un emplacement nécessaire pour un tableau tab
de 50 caractères et place l’adresse de début dans adres_ptr, puis, libère cet emplacement
mémoire.

Exercice 6

Ecrire un programme qui fait l’allocation d’un emplacement pour un tableau d’entiers dont la
dimension est fournie par l’utilisateur du programme (le recours à la gestion dynamique est
donc nécessaire dans ce cas). Voici les résultats après l’exécution :

combien de valeurs : 7

allocation de 7 int en : 8861976

voici les carres des nombres de 1 a 7 :

1 4 9 16 25 36 49

allocation de 30 float en : 8862008

liberation des 7 int en : 8861976

allocation de 50 int en : 8862132

liberation des 30 float en : 8862008

allocation de 10 float en : 8862336

Vous aimerez peut-être aussi