Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La référence Basic Casio

Nom : SortA(

Localisation :

[ MENU-PROG ] [ LIST ]
[ F4 ]

Syntaxe de la fonction :

SortA(List X)
// Avec x le numéro de la liste

SortA(List X,List Y)
// Trie List X et applique la même permutation à List Y

Description de la fonction :

Cette commande permet de trier un liste dans l'ordre croissant (ascending).

Exemple :
{2,5,9,7,3}→List 1
SortA(List 1)
// List 1 = {2,3,5,7,9}

{1,4,3,2}→List 1
{8,2,9,4}→List 2
SortA(List 1,List 2)
// List 1 = {1,2,3,4}
// List 2 = {8,4,9,2}


Compatibilité :

  • Graph 20/25(+)
  • Graph 35/65/80(+)
  • Graph 100(+)
  • Graph 25+ PRO
  • Graph 85 (SD) OS 1.xx
  • Graph 85 (SD) OS 2.xx
  • Graph 35+ USB/75/95 SD
  • Graph OS 2.04
  • Fx-CG 10/20 OS 1.xx
  • Fx-CG 10/20 OS 2.xx


<<< Retourner à la liste des fonctions


FloBru
Statut : Invité
Posté le 19-11-2021 à 15:01 | #
Bonjours,

Y a t'il une possibilité dans un programme d'utiliser cette fonction SortA(List 1) et faire en sorte que cela classe la liste 2 en fonction du classement de la list 1?

De même que dans le STAT on nous demande combien de liste on veut classer et sélectionner la liste de base et la liste secondaire.

Merci.
LephenixnoirHors ligneAdministrateurPoints: 22768 Défis: 149 Message
Posté le 19-11-2021 à 15:35 | #
J'ai un vague souvenir que tu veux faire SortA(List 1, List 2) ?

Si non, tu peux toujours cheese de la façon suivante : tu cumules dans List 1 à la fois la valeur à trier et l'indice original, comme ça après le tri tu as dans le List 1 la position originale de chaque valeur et tu peux appliquer la même permutation à la liste 2.

Ça donne un truc comme ça (pas testé, je n'ai pas de calto sous la main dans l'immédiat) :

# Insérer les indices dans List 1
Seq(List 1[I]*1000+I,I,1,Dim List 1,1)→List 1
# Trier la liste 1
SortA(List 1)
# Permuter la liste 2
Seq(List 2[List 1[I] Rdmr 1000],I,1,Dim List 1,1)→List 2
# Virer les indices de la liste 1
List 1 Rdmr 1000→List 1

Note que ça ne marche que si List 1 contient des valeurs entières (et plus petites que 10¹² pour qu'on ait la place de mettre trois chiffres de plus dedans).
FloBru
Statut : Invité
Posté le 19-11-2021 à 16:16 | #
SortA(List 1, List2) fonctionne,
Merci beaucoup!!

Heureusement parce que la deuxième solution me paraît compliqué à mon niveau ahah
LephenixnoirHors ligneAdministrateurPoints: 22768 Défis: 149 Message
Posté le 19-11-2021 à 16:27 | #
Impeccable ! C'est aussi plus consistant et probablement un bon paquet plus rapide aussi.

Je modifierai la description de la fonction dès que j'aurai testé pour m'assurer du comportement exact.


Retour liste des commandes

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 65 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd