Voila j'essaie de coder un petit programme sur lequel je bloque complètement.
A vrai dire, je suis vraiment pas familier des listes, j'ai cherché un peu sur internet, mais pour les ti89 les informations sont peu nombreuses.
Donc voila mon problème.
J'ai 2 listes de valeurs, on va les appeler l1 et l2.
Mon but est de ranger les 2 listes dans un ordre croissant de valeurs.
Et ensuite de comparer les deux listes tel que les termes de la liste contenant le moins d'éléments se voit attribuer un rang pour ensuite calculer la somme des rangs.
Par exemple :
l1 : 1 5 7
l2 : 4 6 2 9
Apres avoir rangé :
l1 : 1 5 7
l2 : 2 4 6 9
Le tout mélangé et rangé : 1 2 4 5 6 7 9
1 occupe le premier rang, 5 occupe le 4eme rang et 7 occupe le 6ème rang
Rang total = 1 + 4 + 6 = 11
Je trouve aucun moyen de faire ca sans mettre une bonne dose de if partout (rendant le code juste horrible), mais encore une fois je suis pas très habile en basic.
Pour tout dire, je bloque sur la manipulation des listes :
- Comment remplir la liste de manière "dynamique" ? En gros, avec un Input "Nombre de valeur",n puis mettre les n éléments.
Mon problème sur ce point est que je ne sais mettre des valeurs que de manière isolée, en redéfinissant la liste.
De la façon suivante : {a} -> l1
Bien sûr, je me doute qu'il doit y avoir une façon de rajouter des valeurs à une liste existante (ce qui ma faciliterais la tâche, j'aurais plus qu'à mettre en oeuvre un For), mais j'ai beau avoir cherché j'ai rien trouvé de simple pour la ti89

- Et surtout, comment fusionner les 2 listes en gardant un "marqueur" de l'origine de la liste ?
J'ai une petite idée la dessus, mais je sais pas si c'est possible de ranger une liste selon la valeur absolue des élements, c'est faisable ?
Je m'explique, mon idée serait de définir 2 listes, une contenant un nombre n1 d'elements, une autre contenant un nombre n2 d'elements.
A l'aide d'une condition je dirais que si n1 < n2 alors -l1 -> l1 et sinon -l2 -> l2.
J'aurais alors "marqué" la liste des elements qui m'interesse à l'aide du signe moins.
Puis en fusionnant les 2 listes (j'ai vu qu'il y avait une fonction pour ca), j'aurais plus qu'à classer les 2 listes selon leurs valeurs absolue.
Si c'est pas faisable, une autre idée serait de créer une deuxieme liste, copie de la premiere ou j'applique la fonction valeur absolue.
Puis je demande à classer les 2 listes, selon la seconde liste, en gardant la relation entre les 2 (c'est à dire, que la premiere valeure de la premiere liste doit rester associer à celle de la seconde liste). J'ai cru comprendre que cela est faisable, non ?
Que pensez-vous de mon idée ?
- Mon dernier problème est, si j'arrive jusque la, comment récuperer le rang des valeurs "marqués" (dans mon idée, celles qui portent un signe moins)
Je pourrais faire ca à l'aide de conditions, en testant chaque valeur, mais cela n'est pas un peu bourrin comme méthode ?
Si je choisi cette méthode, alors comment isoler une valeur de la liste ? Encore une fois, en cherchant sur internet, j'ai trouvé que des méthodes (très simples) ne fonctionnant pas sur Ti83
Voila, voila
Merci de votre éventuelle aide
