TP : tableaux : prise en main#
Comme indiqué dans le cours, on utilisera les vector
de C++ comme tableaux. Pour cela, il est nécessaire de charger la bibliothèque standard pour les vector
:
#include <vector>
using namespace std;
Exercice: (Cours)
Retrouvez dans le cours les trois étapes de la construction d’un tableau
Dans la cellule suivante, on effectue deux des trois étapes.
Quelle étape est effectuée à la première ligne? BEGIN SOLUTION Déclaration END SOLUTION
Quelle étape est effectuée à la deuxième ligne? BEGIN SOLUTION Allocation END SOLUTION
vector<int> v;
v = vector<int>(5);
v
est maintenant un tableau de taille 5. Exécutez la cellule suivante pour voir les valeurs contenues dans le tableau.
v
Il n’y a que des zéros ! C’est le comportement par défaut du compilateur que nous utilisons sur Jupyter
mais ce n’est pas un standard du C++
. On peut initialiser v
de la façon suivante.
v = {4, 1, 5, 2, 3};
Dans la cellule suivante, déclarez, allouez et initilisez un tableau d’entier v2
de taille 8 et contenant les valeurs : 2,5,1,8,4,6,3,5
.
/// BEGIN SOLUTION
vector<int> v2;
v2 = vector<int>(8);
v2 = {2, 5, 1, 8, 4, 6, 3, 5};
/// END SOLUTION
Exécutez les cellules suivantes pour vérifier que votre tableau contient les bonnes valeurs.
v2.size() // doit afficher 8
v2 // doit afficher {2, 5, 1, 8, 4, 6, 3, 5}
On vérifie à présent avec CHECK
CHECK ( v2.size() == 8 )
CHECK(v2 == vector<int>({2, 5, 1, 8, 4, 6, 3, 5}))
Un tableau permet l’accès à ces différentes valeurs à travers un accès par indice. Exécutez les cellules suivantes en exemple.
v
v[0] // la première valeur du tableau (4)
v[3] // la valeur à l'indice 3 (2)
De la même façon, affichez la dernière valeur du tableau
/// BEGIN SOLUTION
v[4]
/// END SOLUTION
L’accès par indice permet aussi de modifier le tableau. Par exemple :
v = { 4, 7, 3, 2, 3 };
v[1] = 3;
v // qu'est-ce qui a changé ?
De la même façon, complétez le code ci-dessous pour que le test CHECK soit vérifié.
v = { 4, 1, 3, 2, 3 };
/// BEGIN SOLUTION
v[3] = 5;
/// END SOLUTION
CHECK( v == vector<int>({4,1,3,5,3} ) )