Bonjour,
Je fais appel à la communauté pour m'aider dans une application (je ne gère pas bien les pointeurs).
Dans mon exemple :
Je génère un nombre entre 0 et 49 dans mon DB1.DBW0.
1) Je souhaite compter combien le nombre de fois que sort chaque nombre compris entre 0 et 49 (cf "Image1").
Comment puis-je simplifier mon code plutôt que d'écrire 50 lignes ? Et savoir dans mon tableau DB2 que le 1 est sorti X fois, le 2 Y fois, ... le 49 Z fois.
2) Je souhaite ensuite récupérer les valeurs de mon DB2 et trier tout ça (dans un DB3) en classant les nombres (0à49) qui sont sorties par ordre décroissant.
Any help ?
Attention contrainte : je ne veux pas utiliser le SCL.
Merci pour votre aide.
Compter nombre d'apparition
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: Compter nombre d'apparition
Salut,
Tu joues au loto?
Sans SCL, tu n'auras pas d'autre choix que de passer par du LIST pour faire de l'indexage:
Je ne vais pas te faire le code de l'ensemble mais voici un exemple pour utiliser un index sur une DB de 50 mots (DB1.DBW0 à DBW98):
admettons que la valeur du tirage entre 0 et 49 est MW0 et que celle-ci est une nouvelle valeur à prendre en compte.
Tu joues au loto?
Sans SCL, tu n'auras pas d'autre choix que de passer par du LIST pour faire de l'indexage:
Je ne vais pas te faire le code de l'ensemble mais voici un exemple pour utiliser un index sur une DB de 50 mots (DB1.DBW0 à DBW98):
admettons que la valeur du tirage entre 0 et 49 est MW0 et que celle-ci est une nouvelle valeur à prendre en compte.
Code : Tout sélectionner
// On crée ici l' index à partir de MW0 :
L 0
L MW0
<= i
SPBN FIN: Saut si MW0 est inférieur à 0
SLW3 // (on fait un décalage de 3 pour remettre au format disons octet, sinon tu vas adresser des bits)
L 2
*I // (on multiplie par 2 pour pouvoir adresser des mots: sinon tu adresses les octets, la table va de DBW0 à DBW98)
LAR1 // transfert la valeur dans le registre de décalage AR1
// à partir de là le pointeur est créé
AUF DB1 // ouverture de la DB1
L DBW [AR1,P#0.0] // chargement de la valeur compteur du Xième mot de la table (x=MW0)
L 1
+i //on rajoute 1
T DBW [AR1,P#0.0] on retransfert dans le compteur
l -1
T MW0 // on met -1 dans MW0 qui sera réécrit plus tard lors du prochain tirage
FIN: NOP 0 // on fait rienLe monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: Compter nombre d'apparition
Hello djé,
Oui c'est exactement ça
. Je me suis donné l’exercice de refaire le tirage du loto mais pas en SCL sinon c'est plus facile.
((à la base c'était de créer un tirage aléatoire qui m'a poussé à faire ça et maintenant que c'est fait, je veux aller plus loin))
Ton développement va mettre utile ! C'est exactement ça qui va me débloquer : un exemple que je vais pouvoir appliquer à mon exo.
J'ai saisi le résonnement, merci de ton aide !!
@+ sur la toile
Oui c'est exactement ça
((à la base c'était de créer un tirage aléatoire qui m'a poussé à faire ça et maintenant que c'est fait, je veux aller plus loin))
Ton développement va mettre utile ! C'est exactement ça qui va me débloquer : un exemple que je vais pouvoir appliquer à mon exo.
J'ai saisi le résonnement, merci de ton aide !!
@+ sur la toile
