`, décompressez l'archive et ouvrez la solution.
Ce projet comporte des tests unitaires; commencez par mettre à jour les plugins Nugets de Visual Studio qui gèrent les tests. Allez dans le menu "Outils -> Gestionnaire de Package NuGet-> Gérer les packages NuGet..."
.. image:: vsnuget1.png
Clickez sur l'onglet "Mises à jour", sélectionnez tous les packages, puis cliquez sur le bouton "Mettre à jour". Acceptez les conditions et attendez la fin du processus de mise à jour.
.. image:: vsnuget2.png
.. important:: A chaque fois que vous écrivez une fonction, exécutez les tests unitaires (menu *Test -> Exécuter -> Tous les tests* ou touches ``Ctrl+r Ctrl+a``). Une fonction n'est pas correcte tant qu'il y a un test qui échoue sur la fonction.
.. image:: test.png
* Complétez la fonction ``InsererTableau`` recevant en paramètre deux tableaux d'entiers ``origine`` et ``aInserer`` ainsi qu'un indice ``position`` compris entre 0 et la taille du tableau ``origine``. Cette fonction retourne un nouveau tableau d'entiers correspondant au tableau ``origine`` où l'ensemble des valeurs de ``aInserer`` ont été insérées à l'élément d'indice ``position``. Exemple:
.. code-block:: csharp
int [] t1 = {4, 5, 3, 8, 9, 1, 2};
int [] t2 = {11, 15, 13};
int [] t3 = InsererTableau(t1, t2, 2);
// t3 = {4, 5, 11, 15, 13, 3, 8, 9, 1, 2}
* Complétez la fonction ``TransposerMatrice`` permettant d'effectuer la symétrie d'un tableau de nombres réels bidimensionnel carré de taille n:
.. image:: transposeeMatrice.png
:align: center
* Complétez la fonction ``RemplirRectangle`` recevant en paramètre un tableau d'entiers bidimensionnel, 2 cordonnées entières ``x`` et ``y`` et 2 dimensions entières ``largeur`` et ``hauteur``. Cette fonction dessine un rectangle dans le tableau en écrivant des 1 dans les cases. Le coin supérieur gauche du rectangle est donné par les coordonnées ``(x,y)``, les dimensions du rectangle sont données par ``largeur`` et ``hauteur``. Attention: le rectangle peut sortir du tableau !
.. code-block:: csharp
int [] t = new int[5,7];
RemplirRectangle(t, 3, 2, 5, 2);
/*
t = {{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1},
{0, 0, 0, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0}}
*/
..
Complétez la fonction ``Remplissage1`` qui crée un tableau bidimentionnel d'entiers de taille ``dimension`` reçu en paramètre, avec ``dimension`` impair, de la manière suivante :
.. image:: remplissage1.png
:align: center
..
.. quiz:: remplissageTableau3
:title: Triangle de Pascal
Complétez la fonction ``TriangleDePascal`` recevant en paramètre une dimension ``n`` et qui retourne un tableau d'entiers bidimensionnel carré de dimension ``n`` initialisé comme un triangle de pascal:
.. image:: pascal.png
:align: center
..
.. quiz:: contour
:title: Contour
Complétez la fonction ``ExtractionContour`` qui prend en entrée un tableau d'entiers bidimensionnel correspondant à une image noir et blanc. La valeur 0 correspond au fond blanc et la valeur 1 à la présence d'un objet. On veut appliquer un opérateur qui conserve dans l’image les cases noires ayant pour cases voisines au moins une case blanche. Par case voisine, nous désignons les quatre cases au dessus, en dessous, à gauche et à droite. Une fois la méthode appliquée, certaines cases noires sont devenues blanches. Voici un exemple du traitement :
.. image:: contour.png
:align: center
..
.. raw:: html
using static System.Console;
// utilisez WriteLine(valeur); pour afficher un résulat
//--------