Nouveau challenge

Merci à toi Optimix, pour ce défi qui m'a bien amusé.

bon vote et bon dimanche

Salut tous le monde

Merci Optimix, et tous les participants

c est tous mes étapes avant arriver à 64 :

1:
Function PGE(a, b)
s = "<"
If b < a Then s = ">"
If b = a Then s = "="
PGE = a & s & b
End Function
2:
Function PGE(a, b)
PGE = a & Mid("<=>", StrComp(a, b) + 2, 1) & b 'Ne fonctionne pas avec es nbres négatives
End Function
3:
Function PGE(a, b)
PGE = a & Chr(StrComp(a, b) + 61) & b 'Ne fonctionne pas avec es nbres négatives
End Function
4:
Function PGE(a, b)
PGE = a & Chr(Sgn(a - b) + 61) & b
End Function

EDIT: Aujourd'hui :

Function PGE(a, b)
PGE = a & Mid("<=>", Sgn(a - b) + 2, 1) & b
End Function

#leakim
Tu peux gagner 16 caractères en l'écrivant :

PGE = a & IIf(a > b, ">", IIf(a = b, "=", "<")) & b

Tchüss, je file.

bonjour

très intéressant ce petit défi surtout que c'est le genre de détail qui me préoccupe quand je code des fonctions perso

cependant (pardonnez moi d'avance) des le départ le défi est biaisé

il est montré en post 1 le résultat souhaité dans la cellule jaune 21<144

si l'on devait se cantonner à ça

disons que les argument de la fonction sont A et B

et que A=144 et B=21

le contraire devrait retourner quoi ?

A<B ou B>A

vous me direz c'est la même chose

et oui mais non

car étant donné que le retour doit etre textuel ça implique que dans la fonction soit utiliser les deux symboles représentatif de comparaison ("<" et ">" )

ce qui augmente le texte du code

pour etre plus precis dans mes dire

la solution la plus courte est

PGE = A & Chr(61 + Sgn(A - b)) & b qui nous donne 144>21

mais dans l’énoncer on voit 21<144

le résultat souhaité était donc

  1. le résultat textuel de l’opération quel qu'il soit
  2. plus petit < plus grand
  3. plus grand > plus petit

bon je sais je titille mais c'est important d’être clair je pense quand à l'intention

Bravo et merci à Optimix pour cet idée de défi ,en tout cas c'est le genre d’exercice que j’apprécie


bonjour patricktoulon,

dans un de ses messages optimix a précisé, ( b1 étant la clé et b2 la valeur )

Concernant le format de la réponse, si on entre 1220 en B1 et 452 en B2, la fonction doit afficher en B3 exactement "452<1220" (sans les guillemets bien sûr). [valeur][symbole][Clé] sans espaces.

Bonjour h2so4

oui autant pour moi j'ai relu le post en entier et je l'ai retrouvé

Bonjour patricktoulon.
Je pensais avoir corrigé le tir en écrivant :

- Pour le signe "<" ou ">" peu importe l'ordre valeur-clé ou clé-valeur. Ce que je voulais dire c'est que valeur et clé devait figurer dans le résultat.

Cela dit, si on voulait coller à la lettre, ce qui n'était pas le but recherché, rien n'empêchait d'ordonner les paramètres en écrivant :
Function PGE(a, b) qui donne 21<144

au lieu de Function PGE(b, a) qui donne 144>21

ce qui dans l'esprit revient au même.

bonjour Optimix

oui c'est la même chose mais le code est différent selon le résultat textuel que l'on veut

c'est ce que je voulais dire

la formule Sgn est très bien

Rechercher des sujets similaires à "nouveau challenge"