[PHP] Quel nombre est le plus proche ?
|
08-11-2014, 19h45
(Modification du message : 10-11-2014, 14h24 par WizOut.)
Message : #1
|
|
WizOut
Black Slave Coder Messages : 111 Sujets : 13 Points: 14 Inscription : Apr 2012 |
[PHP] Quel nombre est le plus proche ?
Bonjour / Bonsoir,
Aujourd'hui j'ai eu besoin de faire une fonction pour un de mes programmes permettant de savoir à partir d'un tableau composé de valeur numérique quel nombre est le plus proche de x où x est un réel. je vous met le prototype qui est : Code PHP : function compare($signe, $const, &$tab, $returnIndice); $signe : peut prendre deux valeurs : "<" si on veut la valeur inférieur à $const la plus proche ou ">" si on veut la valeur supérieur à $const la plus proche. $const : le nombre auquel on veut se rapprocher &$tab : c'est le tableau de valeur $returnIndice : deux valeurs possibles "true" ou "false" ça nous retourne en plus de la valeur approchée de $const , son indice dans le tableau... Un exemple est toujours mieux qu'un long discours donc c'est parti : Code PHP : <?php Resultat : Code : Valeur superieur de 80 : 125 Voilà le fonctionnement assez simple, mais imaginons que vous avez deux fois 125 dans votre tableau, comment le programme va réagir ? il va créer un tableau multidimensionnel si vous voulez les indices, ou bien unidimensionnel (ça peut servir pour compter le nombre de doublons) si vous ne voulez pas d'indice. Exemple : Code PHP : <?php Résultat : Code : Array ( [0] => Array ( [0] => 125 [1] => 5 ) Voila en gros, pour 125 on le retrouve à l'indice 5 et 2 de $montableau. Cette fonction peut toujours servir, ne là sous-estimez pas Ah j'allais oublier le code : Code PHP : function compare($signe, $const, &$tab, $returnIndice) {
"Il existe deux choses infinies : l'univers et la bêtise humaine" Einstein.
PHP/MySQL (POO & PDO) : OK HTML5/CSS3 : OK JAVA : En cours |
|
09-11-2014, 15h06
Message : #2
|
|
cacaphonie
Newbie Messages : 12 Sujets : 3 Points: 11 Inscription : Oct 2014 |
RE: [PHP] Quel nombre est le plus proche ?
Salut,
moi je viens de faire qu'en utilisant des if, j'aurais p-e pu utiliser switch mais je sais pas pourquoi j'ai fait, j'ai fait comme ça : (pas testé le code dsl juste pour te donner une idée de ce que j'ai fait): Code PHP : <?PHP j'ai comparé que deux variables c'est plus simple mais bon moins avancé que ton script |
|
09-11-2014, 23h07
Message : #3
|
|
WizOut
Black Slave Coder Messages : 111 Sujets : 13 Points: 14 Inscription : Apr 2012 |
RE: [PHP] Quel nombre est le plus proche ?
Ton code ne fait que questionner si une valeur est réellement plus grande, plus petite ou différente d'une autre, ce qui est inutile à mon gout il existe déjà la structure alternative if qui permet de faire ça directement, c'est rajouter une surcouche dans ton application pour rien, c'est comme lui mettre 2 kilos sur le dos, où bien c'est comme si que ovh utilisait du chauffage dans leur data-centre pour rendre la tâche plus difficile à leur serveur et provoquer un incendie, combattre le mal par le mal, ça n'a pas de sens.
"Il existe deux choses infinies : l'univers et la bêtise humaine" Einstein.
PHP/MySQL (POO & PDO) : OK HTML5/CSS3 : OK JAVA : En cours |
|
09-11-2014, 23h15
Message : #4
|
|
cacaphonie
Newbie Messages : 12 Sujets : 3 Points: 11 Inscription : Oct 2014 |
RE: [PHP] Quel nombre est le plus proche ?
ENfaite je me focalisais plus sur les arguments de la fonction que le contenu d'elle, et je me suis perdu comme ça
|
|
09-11-2014, 23h57
(Modification du message : 09-11-2014, 23h57 par octarin.)
Message : #5
|
|
octarin
Apprenti sorcier Messages : 68 Sujets : 11 Points: 47 Inscription : May 2013 |
RE: [PHP] Quel nombre est le plus proche ?
Et il se passe quoi quand $const = 2000 dans ton exemple ?
Sinon voici ma solution en python: Code PYTHON :
Faire des mathématiques c’est donner le même nom à des choses différentes. -- Henri Poincaré
|
|
10-11-2014, 00h13
(Modification du message : 10-11-2014, 14h22 par WizOut.)
Message : #6
|
|
WizOut
Black Slave Coder Messages : 111 Sujets : 13 Points: 14 Inscription : Apr 2012 |
RE: [PHP] Quel nombre est le plus proche ?
Oui tu as raison je n'ai pas géré cette exception, mais je ne l'ai pas faite car j'en avais pas forcement besoin en fait ^^ $const était une valeur sûre. J'ai rectifié le tir, ça renverra NULL désormais en cas d'erreur
PS : j'approuve le python c’est plus rapide Par contre ton script ne retournera pas deux fois la même valeur (en cas de doublons, triplons, quadruplons etc...) si tu mets l'indice à False
"Il existe deux choses infinies : l'univers et la bêtise humaine" Einstein.
PHP/MySQL (POO & PDO) : OK HTML5/CSS3 : OK JAVA : En cours |
|
11-11-2014, 11h36
Message : #7
|
|
octarin
Apprenti sorcier Messages : 68 Sujets : 11 Points: 47 Inscription : May 2013 |
RE: [PHP] Quel nombre est le plus proche ?
Quel serait l'intérêt ?
Faire des mathématiques c’est donner le même nom à des choses différentes. -- Henri Poincaré
|
|
12-11-2014, 11h48
Message : #8
|
|
Junky
Snorky Master Messages : 228 Sujets : 35 Points: 203 Inscription : Mar 2013 |
RE: [PHP] Quel nombre est le plus proche ?
Bonjour,
Voici comment j'ai fais en python. (a rajouter un try except pour éviter les 'out of range' si le vtest n'a pas de supérieur ou d'inférieur) Code PYTHON :
Output: Code : 0 ✓ silentd@G3nt00 ~ $ ./tri.py En faite le déroulement est simple. On a un tab, on rajoute la valeur désiré au tab, on le tri et ensuite on affiche tab[index.valeur-1] pour inférieur et +1 pour supérieur. Junky Pour la sécurité, sous linux, le principal soucis est l'interface chaise/clavier
|
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)