Sujet Toutes les fonctions qui seront écrites dans la suite de ce TP concernent des manipulations de tableaux. Afin de vérifier leur fonctionnement, il sera donc nécessaire d'éditer les contenus des "tableaux", avant et après transformation. Dans l'espace de noms anonyme du fichier AffichTabGen.cxx, écrire la procédure doublement générique AffichTab() qui affiche (à l'écran) le "tableau" (ou analogue) entre les positions initiale et finale (intervalle semi-ouvert), à raison de NbParLigne éléments par ligne, par défaut 10, séparés par un caractère variable (séparateur), par défaut une tabulation. Tableau, positions, nombre par lignes et séparateur lui sont passés en paramètres "données" ou "données-résultats". A l'espace de noms anonyme, ajouter la fonction AffichTabGen() qui teste la fonction AffichTab() sur trois "tableaux" distincts : tableau (au sens strict) déclare et définit un tableau d'entiers naturels initialisés par un agrégat aux 10 premiers entiers naturels 0..9, affiche les entiers 2, 3, ..., 7 à raison de 10 valeurs par ligne séparées par un espace. chaîne de caractères déclare et définit une chaîne de caractères (string) contenant le texte Message, en affiche les trois premiers caractères sur la même ligne sans séparateur. vector déclare et définit un vector de 20 entiers, les initialise par tous les entiers successifs à partir de -10, affiche tous les éléments à partir du rang 3, à raison de 5 par ligne, séparés par une tablulation. Exécution L'affichage attendu est le suivant : 2 3 4 5 6 7 Mes -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9