Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

casse-tete : essayez ca.... (pour firetox et r**megou entre autres)

17 réponses
Avatar
Fabrice Burghgraeve
bon celui la il a l'air de marcher.
J'ai pas verifier l'algo de firetox
J'ai essayé avec 4780 : c'est bon
avec 4781 : c'est pas bon.

notez le temps mis pour dire que c'est pas bon pour les gros nombres.
ET la le tableau ne fait que trois elements.
Notez aussi la compacite du code grace a une ecriture recursive plutot
qu'iterative...

---------------- code du bouton pour tester la fonction ------------

tb_a_tester est un tableau de 3 entiers
nb_a_tester est un entier
tb_a_tester[1]=40
tb_a_tester[2]=25
tb_a_tester[3]=15

nb_a_tester=Saisie1

SI tester_condi_recursif(tb_a_tester,3,nb_a_tester) ALORS
Info("c'est bon");
SINON
Info("c'est pas bon");
FIN

idx est un entier

POUR idx = 1 A 100000
SI tester_condi_recursif(tb_a_tester,3,idx) ALORS
Info(idx+" convient");
FIN
FIN

------------------ CODE INTERESSANT (a priori) ---------------
FONCTION tester_condi_recursif(tb_a_tester,taille_tb,nb_a_tester)

SI nb_a_tester = 0 ALORS RENVOYER Vrai
SI taille_tb = 1 ALORS
SI modulo(nb_a_tester,tb_a_tester[1]) = 0 ALORS
RENVOYER Vrai
SINON
RENVOYER Faux
FIN
FIN

idx est un entier
nb_occur est un entier = nb_a_tester / tb_a_tester[taille_tb]
SI tester_condi_recursif(tb_a_tester,taille_tb-1,nb_a_tester) ALORS RENVOYER
Vrai

POUR idx=nb_occur A 1 PAS -1
SI
tester_condi_recursif(tb_a_tester,taille_tb-1,nb_a_tester-idx*tb_a_tester[ta
ille_tb]) ALORS
RENVOYER Vrai
FIN
FIN

RENVOYER Faux

--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD

7 réponses

1 2
Avatar
Discret
Re,

"Fabrice Burghgraeve" a écrit :

euh j'ai des problemes de synchro, donc je perds completment le fil
(jeu de mot pourri avec thread sans le faire expres :-p )

Je vois meme pas le rapport avec le fil que j'ai initie...




Remarque c'est "B. Neve" qui a créé le topic de départ...
et c'est vrai qu'on entend plus parlé de lui depuis le tiens...

Il a pourtant au moins 2 solutions à son pb.

@+ Laurent
Avatar
Fabrice Burghgraeve
salut


Il n'a pas été dit que le nombre de conditionnements pouvait être


supérieur
à 3.




Non.
Il a ete dit :

(...)

>Comme chacun sait qu'un bon exemple vaut tous les discours...
>
>J'ai des assiettes que je peux conditionner par 15, 25, 40. Dans une
>rubrique texte, on met alors
>25/15/40 pour dire que 25 sera la quantité par défaut et les autres des
>alternatives.
>On peut bien évidemment mélanger plusieurs emballages...


(...)

Il n'a pas non plus ete dit la taille de la rubrique texte.
Il a été dit 3 conditionnements differents dans l'exemple, mais rien
n'exclut qu'on ne puisse pas entrer
25/15/40/28

ou encore moins : 25/9/7/5
qui fait la meme taille donc qui tient dans la zone texte, mais qui comprend
4 valeurs...

Il a juste ete dit que les trois valeurs possibles du conditionnement
fournies etaient un exemple.

En plus, ca ne me parait pas du tout inconcevable, pour sortir du domaine
theorique, qu'un element quelconque existe en plus de 3 conditionnements
differents.

Un autre exemple :
tu vas au café, pour boire de la bière...
tu peux prendre un quart, un demi, un serieux, un baron, 33 cl etc etc de
biere.

est-ce que tu peux commander pour pile 48532 cl de biere ?
(faut avoir tres soif pour cdette quantite :) j'ai mis au hasard)


D'une maniere generale, pourquoi se limiter quand on ecrit son programme ?
Si le programme est deja prevu pour n conditionnement, meme si pour
l'instant le client ne veut en entrer que 3 differents,
autant voir loin et penser qu'un jour il voudra en mettre 4, ou si c'est pas
lui, alors un autre client...
(sinon, aucun interet de faire entrer ca dans un champs texte avec des
valeurs separees pas des /. C'est mieux trois champs de saisie numeriques
pour l'utilisateur.)

--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD
Avatar
Discret
"Fabrice Burghgraeve" a écrit :

tu vas au café, pour boire de la bière...
tu peux prendre un quart, un demi, un serieux, un baron, 33 cl etc etc de
biere.

est-ce que tu peux commander pour pile 48532 cl de biere ?
(faut avoir tres soif pour cdette quantite :) j'ai mis au hasard)




C'est vrai qu'avec des bières je comprends mieux ! lol

...
D'une maniere generale, pourquoi se limiter quand on ecrit son programme ?
Si le programme est deja prevu pour n conditionnement, meme si pour
l'instant le client ne veut en entrer que 3 differents,
autant voir loin et penser qu'un jour il voudra en mettre 4, ou si c'est


pas
lui, alors un autre client...
(sinon, aucun interet de faire entrer ca dans un champs texte avec des
valeurs separees pas des /. C'est mieux trois champs de saisie numeriques
pour l'utilisateur.)




Veuillez m'excuser car je n'ai pas la prétention d'être aussi brillant et
synthétique que vous mon cher.
J'ai fait cet exercice pour m'amuser et pour tenter d'aider B. Neve.
J'espère qu'il aura l'intelligence de choisir votre code plutot que le mien.
;-)

@+ Laurent
Avatar
Firetox
Moi oui mais le principal interressé surtout
c'est bien pour lui

ca fait un peu avancer le scmil.........

bon dev
@+


"Fabrice Burghgraeve" a
écrit dans le message de news: bpdfb1$kmo$
re-re-re

"Fabrice Burghgraeve"


a
écrit dans le message de news:bpdcma$jj5$
> salut.
>
> "Firetox" a écrit dans le message de
> news:bpdai2$5mf$
> > Oui c'est joli
> >
> > mais le code de Bob lamar a ete donne
> > depuis longtemps, mais la on avance pas.
>
> desole j'ai pas vu j'ai du le rater dans tout le thread...
>
> >
> > bon d'accord sur le fait que ca dise OK ou pas OK mais je suis alle


plus
> > loin
> > et c'est la que ca coince : donnez la solution retenue pour dire oui
> > et la ca commence a devenir chaud : renvoyez le nombre de C1 de C2 et


C3
>
> bof. j'te fais ca tout de suite (disons dans 10 minutes)
> comme je le disais, le probleme est le meme...


voila voila le beau code qui va bien...
(j'ai mis un peu plus de temps que prevu j'espere que tu m'excuse je


m'etais
embrouille avec un nom de variable)

-------- CODE DE LA FONCTION (j'vais arreter de dire que c'est
interessant) ----------------

FONCTION



tester_condi_recursif(tb_a_tester,taille_tb,nb_a_tester,chaine_a_retourner)

SI nb_a_tester = 0 ALORS
chaine_a_retourner = "."
RENVOYER Vrai
FIN
SI taille_tb = 1 ALORS
SI modulo(nb_a_tester,tb_a_tester[1]) = 0 ALORS
chaine_a_retourner = "



"+NumériqueVersChaine(tb_a_tester[1])+"*"+NumériqueVersChaine(nb_a_tester/tb
_a_tester[1])
RENVOYER Vrai
SINON
RENVOYER Faux
FIN
FIN

idx est un entier
nb_occur est un entier = nb_a_tester / tb_a_tester[taille_tb]
SI



tester_condi_recursif(tb_a_tester,taille_tb-1,nb_a_tester,chaine_a_retourner
) ALORS
RENVOYER Vrai
FIN

POUR idx=nb_occur A 1 PAS -1
SI



tester_condi_recursif(tb_a_tester,taille_tb-1,nb_a_tester-idx*tb_a_tester[ta
ille_tb],chaine_a_retourner) ALORS
chaine_a_retourner=chaine_a_retourner+"
"+NumériqueVersChaine(tb_a_tester[taille_tb])+"*"+NumériqueVersChaine(idx)
RENVOYER Vrai
FIN
FIN

RENVOYER Faux



-------- code du bouton de test --------------
tb_a_tester est un tableau de 3 entiers
nb_a_tester est un entier
tb_a_tester[1]@
tb_a_tester[2]%
tb_a_tester[3]

nb_a_tester=Saisie1
ch est une chaîne

SI tester_condi_recursif(tb_a_tester,3,nb_a_tester,ch) ALORS
Info(ch)
SINON
Info("ah ben non alors");
FIN

idx est un entier
POUR idx=1 A 1000
SI tester_condi_recursif(tb_a_tester,3,idx,ch) ALORS
Info(idx+" se décompose en : "+ch)
FIN
FIN



Alors t'es satisfait cette fois ?


--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD




Avatar
Fabrice Burghgraeve
"Discret" a écrit dans le message de
news:bpdne0$isv$

"Fabrice Burghgraeve" a écrit :



(...)

Veuillez m'excuser car je n'ai pas la prétention d'être aussi brillant et
synthétique que vous mon cher.
;-)

@+ Laurent



Lol

:)
watidju y'a interet que non!!!
sinon privé de bière !
:)

Fabrice
Avatar
B. Neve
C'est vrai que j'étais discret mais je ne savais que lire et plus poster de
là où j'étais.

J'ai "emballé" la solution de FabriceBurghgraeve qui marche impeccablement.

Bons développements à tous.

Benoît

"Discret" a écrit dans le message de
news:bpdkm5$dm8$
Re,

"Fabrice Burghgraeve" a écrit :

> euh j'ai des problemes de synchro, donc je perds completment le fil
> (jeu de mot pourri avec thread sans le faire expres :-p )
>
> Je vois meme pas le rapport avec le fil que j'ai initie...
>

Remarque c'est "B. Neve" qui a créé le topic de départ...
et c'est vrai qu'on entend plus parlé de lui depuis le tiens...

Il a pourtant au moins 2 solutions à son pb.

@+ Laurent




Avatar
B. Neve
C'est vrai... J'aurais dû donner un exemple avec des packs de bières... Cela
aurait été plus facile à comprendre.

Benoît (qui a soif tout à coup)


"Fabrice Burghgraeve" a
écrit dans le message de news:bpfctn$smi$

"Discret" a écrit dans le message de
news:bpdne0$isv$
>
> "Fabrice Burghgraeve" a écrit :
>
(...)
>
> Veuillez m'excuser car je n'ai pas la prétention d'être aussi brillant


et
> synthétique que vous mon cher.
> ;-)
>
> @+ Laurent

Lol

:)
watidju y'a interet que non!!!
sinon privé de bière !
:)

Fabrice




1 2