IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Petit problème d'arrondi


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de zolotaya
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 93
    Par défaut Petit problème d'arrondi
    Bon voila le problème. Je dispose d'un tableau de 55 éléments tous étant compris entre 53 (41 dans l'exemple) et 11. Voici pour exemple les 10 premiers elements du tableau :

    25 - 11 - 14 - 23 - 41 - 24 - 40 - 22 - 15 - 11

    ces valeurs correspondent à des entiers allant de 1 à 4 qu'il faut que j'arrive à retrouver (je sais c'est pas dur mais j'y arrive pas^^ )
    J'ai essayer un produit en croix en prenant ma valeur mini = 1 et de l'appliquer sur mon tableau j'obtiens la ligne du bas et quand je prend la valeur max j'obtiens la ligne du haut :

    2 - 1 - 1 - 2 - 4 - 2 - 3 - 2 - 1 - 1
    2 - 1 - 1 - 2 - 3 - 2 - 3 - 2 - 1 - 1

    Quelqu'un peut m'aider?

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par zolotaya
    éléments tous étant compris entre 53 (41 dans l'exemple) et

    ....

    ces valeurs correspondent à des entiers allant de 1 à 4
    Hein ?

    Je suis pas sûr d'avoir compris, mais tu veux le chiffre de la dizaine, c'est ça ?
    Dans ce cas, la formule est juste :

    (n - (n modulo 10))/10
    (souvent n%10 dans les langages de programmation)

  3. #3
    Membre confirmé Avatar de zolotaya
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 93
    Par défaut
    je vais essayer d'etre un petit peu plus clair :
    J'ai un tableau rempli avec des valeurs lus avec + ou - de présisions.
    Ce que je sais sur ces valeurs c'est qu'elles correspondent à 4 entiers qui sont 1 , 2, 3 ou 4.
    Dans mon cas les valeurs s'étendent de 11(min) à 53(max) (11 correspond au 1 et 53 au 4)
    Voila mon exemple en entier :
    mes valeurs sont :

    25 - 11 - 14 - 23 - 41 - 24 - 40 - 22 - 15 - 11 - 28 - 23 - 14 - 25 - 27 - 11 - 38 - 26 - 25 - 26 - 36 - 14 - 13 - 26 - 25 - 13 - 25 - 38 - 25 - 13 - 25 - 26 - 12 - 38 - 13 - 26 - 13 - 12 - 13 - 37 - 26 - 38 - 13 - 37 - 53 - 11 - 14 - 12 - 26 - 36 - 40 - 13 - 12 - 14 - 25

    pour les faires correpondrent avec les valeurs 1,2,3 ou 4 j'ai essayer un produit en croix ( x = val[i]/min et x = (val[i]*4) / max )
    et j'obtiens les resultats suivants :
    avec min :
    2112323211221221322231122123212213121113231341112331112
    avec max :
    1011313110211120211121011012101102010002120240101230011

    Je veux juste savoir si il existe pas un autre moyen que le produit en croix pour trouver les valeurs (le modulo étant moyen 53 mod 10 = 5 et pas 4...)

    En éspérant avoir été plus clair

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Ah ok, alors c'est simplement :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Partie entière de : 3 * (n  - 11) / 42 +1

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 118
    Par défaut
    y = ( x - 11 ) * (4-1) / (53-11) + 1

    On a bien {x appartient à [11..53]} entraine {y appartient à [1..4]}

    Ai-je bien compris ton problème ?

    Edit : trop lent....

  6. #6
    Membre confirmé Avatar de zolotaya
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 93
    Par défaut
    Oki merci beaucoup
    J'étais pas trop parti sur cette voie la...

    Edit : Ca marche vous êtes trop fort^^

  7. #7
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut
    Bonjour,

    Je comprend pas trop ton problème. Tu donne une liste de chiffres de 11 à 53 et tu veut obtenir des chiffres de 1 à 4....

    Comment détermines-tu qu'un chiffre est [1..4] ?

    Essaye d'expliquer la méthode que tu effectue pour le faire toi même, ensuite, on pourras essayer de le faire en langage algorithmique. car pour le moment je ne comprend pas ce que tu souhaite faire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/10/2012, 12h53
  2. Petit problème de décimales !
    Par ridan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/09/2004, 21h24
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo