Ilyatrogène Posted March 6, 2021 Posted March 6, 2021 (edited) Salut, Qqun aurait-il la grande amabilité de m'expliquer ce que font concrètement les lignes 8, 16 et 17 et pourquoi était-il nécessaire de rajouter int aux lignes 14 et 15 ? https://goopics.net/i/oZPZn Merci d'avance : ) Edited March 7, 2021 by Ilyana31 Quote
Ilyatrogène Posted March 7, 2021 Author Posted March 7, 2021 Salut @DuTACKauTac si tu as le temps est-ce que tu pourrais m'aider stp ^^ Quote
Shrex Posted March 7, 2021 Posted March 7, 2021 (edited) Il y a 14 heures, Ilyana31 a dit : pourquoi était-il nécessaire de rajouter int aux lignes 14 et 15 ? Avant de répondre : est-ce que tu as mis la bonne image car y a pas de int aux lignes 14 et 15... (ou alors tu as mis le programme 2* au lieu de 3* ???) Dsl si c'est moi qui fume... Edited March 7, 2021 by Shrex Quote
Ancien du Bureau Sans-Visage Posted March 7, 2021 Ancien du Bureau Posted March 7, 2021 il y a 17 minutes, Ilyana31 a dit : Salut @DuTACKauTac si tu as le temps est-ce que tu pourrais m'aider stp ^^ J'ai pas encore attaqué la S9 désolé Quote
Ilyatrogène Posted March 7, 2021 Author Posted March 7, 2021 il y a 16 minutes, DuTACKauTac a dit : J'ai pas encore attaqué la S9 désolé Tkt merci quand même il y a 26 minutes, Shrex a dit : Avant de répondre : est-ce que tu as mis la bonne image car y a pas de int aux lignes 14 et 15... (ou alors tu as mis le programme 2* au lieu de 3* ???) Dsl si c'est moi qui fume... Oulaaaa oui pardon j'ai pas mis le bon programme dsl je rectifie ça ! Quote
Solution Shrex Posted March 7, 2021 Solution Posted March 7, 2021 @Ilyana31 Bon, je maitrise pas le truc de ouf mais je vais essayer, par contre je me rends compte en fin de rédac que j'ai énormément de mal à poser les explications à l'écrit donc désolé si c'est bordélique, parce que ça l'est (c'est encore plus hard à expliquer que la récursivité) : Déjà, parents est une liste de valeurs : [0,0,0,0,0,0,0,0,0], et l’indice dans la liste correspond à l’enfant, et le chiffre marqué à cet indice au parent, exemple : si tu vas chercher à l’indice 3 et qu’il y a marqué 2, ça veut dire que le nœud 3 (enfant) est branché sur le nœud 2 (parent). Pour ce qui est du int, tu dois le faire car tu vas te servir, par exemple, de enfant pour fouiller dans la liste parents , et si tu convertis pas enfant en int tu vas vouloir fouiller dans parents mais avec un string en indice, et ça marchera pas parce que c’est pas comme ça que ça fonctionne (tu vas lui demander la valeur à l’indice "3", mais 3 en tant que caractère et non en tant que chiffre, et ça c’est de la merde ça marchera pas) Pour la ligne 16, tu vas mettre dans la liste parents à l’indice enfant le chiffre qui correspond à son parent (réfères-toi à l'explication du 1er paragraphe) Pour la ligne 17, tu appelles ta fonction (que je vais t’expliquer mais avec un exemple qui refait une étape du programme entier parce que j’avais tenté un pavé de texte et c’était encore plus indigeste que ce que tu vas lire...) : Imagine ta liste elle est comme ça : [0,0,1,0,0,0,0,0,0], ta ligne que t'as input c’est "3 2", donc en faisant le split tu obtiens enfant = 3 et parent = 2, donc dans la liste à l’indice 3 (enfant) tu écris 2 (parent), en se rappelant que la liste est numérotée de 0 à 8 : [0,0,1,2,0,0,0,0,0] Une fois comme ça tu appelles la fonction calculeProfondeur(3) : du coup nœud = 3 donc différent de 0, tu rappelles la fonction avec parents[3], et quand tu regardes la liste à l'indice 3 c'est 2 (le parent que tu avais noté), c’est encore différent de 0 donc tu rappelles ta fonction avec parents[2] et c’est 1 (ça veut dire que 2 est branché sur 1), encore différent de 0, tu rappelles avec parents[1] et là c’est 0, ça veut dire que 1 n’est branché sur aucun nœud, donc c’est égal à 0, donc tu renvoies 0 et tu remontes le programme qui à ce niveau est ainsi : => calculeProfondeur(3) => calculeProfondeur(2) + 1 => calculeProfondeur(1) + 1 + 1 => calculeProfondeur(0) + 1 + 1 + 1 donc la profondeur du nœud est 3, sur le schéma en dessous je t'ai fait le début de l'arbre avec : en noir les noeuds, la flèche part du parent pour aller vers l'enfant, et en rouge t'as la profondeur J'espère que c'est pas trop horrible à comprendre mais j'ai essayé de poser le truc avec des mots et c'est pas simple... Est-ce que TACKompris ? Odontoboulot, Ilyatrogène, zazouette and 1 other 2 1 1 Quote
Ilyatrogène Posted March 7, 2021 Author Posted March 7, 2021 C'est parfait merci beaucoup @Shrex j'ai vraiment tout compris !!! Shrex 1 Quote
zazouette Posted March 10, 2021 Posted March 10, 2021 @Shrex ton explication c'est une merveille (c'est pas de l'humour) Shrex 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.