C-SHARP - 4.1 Tableaux Avancés
Bonjour a tous et bienvenue dans cette nouvelle video. Dans cette video, nous allons entamer une notion plus avancee des tableaux. Je vais approfondir vos connaissances a travers de la theorie mais aussi beaucoup de pratique. Avant de commencer, rappelons ce qu est un tableau et comment le creer en C#. Un tableau represente un nombre fixe de variables, de valeurs d un m me type (soit int, string, etc ) Donc commen ons par creer deux tableaux de types differents. Un tableau contenant 3 valeurs de types int et un tableau contenant 3 valeurs de type string. Pour creer un tableau, vous vous rappelez ? Vous tapez le type des valeurs que vous voulez stocker dans votre tableau ensuite vous mettez des crochets, vous lui donnez un nom, ici par exemple on va l appelez valeurs, ensuite vous faites = puis new pour alloue de la memoire a notre tableau ensuite on remet le type de notre tableau soit int et apr s on met des crochets. Et dans ces crochets, on met le nombre de valeurs qu on souhaite stocker dans notre tableau. Donc on met ici 3. Maintenant, il y a 2 fa ons d initialise notre tableau soit juste apr s les crochets, on met des accolades et on y entre toutes nos valeurs si on les connait deja. Sinon on peut les affecter plus tard comme pour initialiser une variable Pour le premier tableau je vais utiliser la premi re methode, et pour le second, je vais utiliser l autre histoire de vous faire rafraichir la memoire Donc dans le premier tableau je vais laisser les accolades et je vais mettre les valeurs 1 2 3. Ensuite, je vais faire mon deuxi me tableau de string, donc je tape le type string crochets, je lui donne un nom par exemple mot, ensuite je fais = new string crochets et la je vais mettre dans les crochets le nombre de valeurs que je souhaite mettre dans mon tableau. Soit 3 et ; ensuite pour affecter mes valeurs dans le tableau il faut que je fasse quoi, vous vous rappelez ? Je dois tapez le nom du tableau soit mot ensuite je mets des crochets et a l interieur je mets l index de mon premier element du tableau. L index du premier element du tableau est 0 donc je mets entre les crochets 0. Et apr s pour affecter la valeur je fais = et je lui donne la valeur que je veux lui affecter ici c est un string donc je fais guillemets et a l interieur mon mot qui est bonjour. Et ainsi de suite pour les 2 autres elements. Je recup re l index de l emplacement et j y affecte la valeur que je souhaite. Voila maintenant qu on a nos 2 tableaux. Rien de nouveaux jusqu a present. En C#, il existe deux types de tableaux, les tableaux a une dimension sont ceux qu on a vu jusqu a maintenant comme l exemple ci-dessus et il existe aussi des tableaux a 2 voire 3 dimensions. Un tableau classique contient une seule ligne de plusieurs colonnes, il peut tre assimile a une liste. Or un tableau peut contenir des variables, mais aussi d autres tableaux. Dans ce cas on parle de tableau multidimensionnel. Ayant plusieurs lignes et plusieurs colonnes. Le plus courant est le tableau a 2 dimensions, qui permet de tr s bien representer les tableaux que l on manipule dans le monde physique. Un tableau multidimensionnel est un tableau qui contient lui-m me des tableaux. Un tableau en 2 dimensions est donc un tableau dont les elements sont eux-m mes des tableaux de valeurs. Par exemple, une classe est divisee en 3 groupes de 3 etudiants. En C# a va donner a : Vous allez tapez var, ici le mot var permet de declarer des variables locales, sans avoir besoin a ecrire explicitement son type car le compilateur determinera ce type a partir de la valeur d initialisation qui est obligatoire. Ensuite on donne un nom a notre tableau par exemple tab_dim ensuite = new et on donne le type des valeurs qu on veut stocker. Ici on va stocker des prenoms donc on met string et apr s, c est ici que vous allez voir quelque chose de nouveau. Au lieu que a soit 1 chiffre dans les crochets, il y aura 2 . Le premier designera les lignes et le 2 me les colonnes, contrairement au tableau a une dimension qui contenait un chiffre qui parcourait des colonnes. Ici on va faire un tableau contenant 3 lignes et 3 colonnes donc entre les crochets on met 3, 3 Maintenant pour creer notre tableau je fais accolades je vais a la ligne et je vais creer directement 3 lignes. Pour a je fais accolades ensuite, accolades, et pour terminer accolades j ai maintenant mes 3 lignes mais c est souligne en rouge ? Pourquoi ? C est parce que je n ai pas mis encore mes 3 valeurs dans mon tableau parce qu ici on lui dit qu on veut 3 colonnes ou 3 valeurs par ligne mais on ne les initialise pas. Donc l editeur nous renvoie directement des erreurs. Je vais donc entrer mes valeurs en faisant un copier-coller que j ai fait au prealable car sinon a sera trop long. Et voila on a bien cree notre tableau a deux dimensions. Maintenant on va essayer d afficher une valeur de notre tableau et ensuite on va afficher notre tableau complet. Donc dans un premier temps, je vais faire un Console.WriteLine() et a l interieur des parenth ses je vais mettre mon tableau. Ensuite pour recuperer une valeur sur un tableau a une dimension, on mettait un index afin de recuperer la valeur se trouvant a cet emplacement. Bah la c est la m me chose sauf que la, on devra donner la ligne et la colonne. Un seul chiffre ne suffira pas vu qu on est dans un tableau a 2 dimensions, il faudra en mettre 2. Maintenant j ai envie qu on recup re la valeur Tom Quels chiffres je dois mettre entre les crochets pour reussir a l afficher ? Bah je dois mettre la ligne ici il y a 3 lignes mais vous savez qu on commence a 0 soit la deuxi me ligne equivaut a 1 donc on met un 1 et ensuite on met une virgule pour preciser dans quel colonne Tom se situe Donc on commence de 0 1 2 l index de tom est 2, donc apr s la virgule je mets 2. Je rappelle le premier chiffre precise la ligne et le deuxi me precise la colonne. Maintenant si je lance le programme, on a bien notre prenom Tom qui s affiche Si maintenant je change de ligne par exemple, je mets 2 et que je relance. On a cette fois-ci Marc qui s affiche. Vous savez maintenant comment afficher une valeur d un tableau a deux dimensions. Maintenant on aimerait afficher la totalite des prenoms dans ce tableau. Et vous vous rappelez que pour parcourir les elements d un tableau, il fallait faire une boucle sur la longueur du tableau et afficher un a un les elements. Bah ici pour parcourir ce tableau a sera un peu different, on va utiliser les boucles mais cette fois-ci a sera une boucle dans une boucle qui se nomme une boucle imbriquee La premi re boucle parcourrra les lignes et la deuxi me se trouvant a l interieur parcourra les colonnes. On va creer la boucle qui va gerer les lignes. Donc ici on va faire un for ensuite on va faire un int i = 0 ; apr s on va mettre la condition que tant que i < au nombre de ligne soit 3 ; et apr s on mets l incrementation pour avancer. Ensuite on va faire un petit Console.WriteLine() afin d avoir en sortie quelques chose de formate. A l interieur des parenth ses je fais un string.Format() et entre les guillemets je mets Groupe n et je mets accolades 0 pour recuperer le i a chaque tour de boucle. Comme a on aura afficher groupe 1 groupe 2 etc.. vu que le i s incremente. Ensuite je mets un backslash n pour avoir un petit retour a la ligne entre le groupe et les prenoms. Et apr s la virgule je mets i +1 pour eviter d avoir un Groupe n 0. Et maintenant c est ici que je vais faire une autre boucle pour parcourir les colonnes Je vais donc taper for parenth ses et la je vais mettre int j = 0 ; vu que i on l utilise pour les lignes vous pouvez l appelez comme vous voulez, c est juste que souvent les developpeurs utilisent ces nominations pour faire des demonstrations Ensuite la condition c est que tant que j est inferieur au nombre de colonne soit 3 alors tu boucles et on n oublie pas notre incrementation de J. et c est dans ces accolades qu on va afficher nos prenoms. On va faire un Console.WriteLine(), dans les parenth ses on fait comme pour Tom on met notre tableau, crochets et ici au lieu de mettre des chiffres, nous allons mettre le i et le j. Pourquoi ? Parce que ce sont eux qui auront le r le d index pour recuperer les valeurs durant les iterations des boucles. A chaque tour, ils s incrementent et s avancent dans le tableau alors si on met des chiffres fixes on n aura jamais tous les prenoms de notre tableau Le programme nous affichera les m mes prenoms a chaque fois. Donc avant de lancer le programme je vais faire un petit resume histoire que a soit clair pour vous ! Ici on a cree deux boucles, une qui va permettre de parcourir les lignes et l autre les colonnes. A la premi re iteration du premier for, on va afficher quel groupe nous allons afficher et ensuite on va utiliser une boucle pour parcourir toutes les colonnes ou plus precisement tous les elements du tableau se trouvant a cette ligne. Soit i = 0 on est a la premi re ligne et ici on va boucler sur tout les elements de la premi re ligne. j vaut 0 donc on va afficher le prenom se situant a la ligne 0 et a la colonne 0 soit Jason Ensuite vu que le j est toujours inferieur au nombre de colonne, tu vas t incremente et on va afficher de nouveau l element se trouvant a la ligne 0 vu que i n a pas ete encore incremente, cependant j lui si, donc on va afficher l element se trouvant a la ligne 0 mais a la colonne 1. Soit Thibaut ainsi de suite jusqu a arriver au dernier element de la ligne une fois arrive a la fin j rempli la condition du for donc on sort de la boucle, on a execute toutes les instructions de l iteration du premier for donc i s incremente. Cette fois ci, il vaut 1, soit on passe a la deuxi me ligne et on re execute les instructions contenues entre les accolades du premier for. Soit on va refaire a nouveau une boucle qui va parcourir les elements de chaque colonne vu qu on a re initialise le j a zero, mais cette fois-ci a la deuxi me ligne. Et on recommencera jusqu a que la condition du premier for soit rempli. Maintenant si on lance le programme. On a bien notre tableau complet qui s est affiche. Pour recapituler, c est comme si on avait un grand tableau comportant 3 petits tableaux. Et vu qu a chaque fois ce sont les m mes instructions qui se rep te en gros on parcoure chaque element d un petit tableau alors on recommence pour chaque petit tableau jusqu a la fin. Et une fois qu on a atteint le dernier tableau alors le programme s arr te. Je sais que c est peut- tre un peu flou de votre c te mais si on prend un exemple qui parlera un peu plus, c est comme si on avait un jeu. Le personnage doit monter 10 escaliers pour arriver a un etage donc on va faire une boucle qui execute 10 fois l action monter pour atteindre un etage. Une fois arrive a un etage on remet les pas a 0 Et pour terminer le jeu il faut atteindre le 5 me etage. Donc a chaque etage il doit monter 10 escaliers soit on va faire une boucle qui va repeter 5 fois la boucle qui fait monter le personnage 10 fois. Je pense qu avec cet exemple c est maintenant plus clair. En tout cas c est tout pour cette video. J esp re que cette video vous a plus et que tout a ete clair pour vous. Je vous dis a la prochaine dans une nouvelle video.