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

JavaScript Discussion :

Tri


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Tri
    Bonjour,

    quelqu'un aurait-il une idée pour résoudre mon problème de Javascript ?


    L’utilisateur doit rentrer les notes (les notes sont des nombres entiers compris entre 0 et 20 mais le nombre de notes entrées n’est pas fixé).

    Il faut afficher les notes entrées, les notes triées (de la plus grande à la plus petite en utilisant le tri par extraction) ainsi que la moyenne.


    Je viens de passer la journée sur ça et ... marche pas


    Pat

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: Tri
    Citation Envoyé par Bpat
    Je viens de passer la journée sur ça et ... marche pas
    Montre nous un exemple de ce que tu as fait (avec seulement deux notes) et explique un peu clairement comment/pourquoi tu consideres que ça ne marche pas. (et on ne traitera que la partie JavaScript dans ce forum).

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Un truc comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <script type='text/javascript'>
    var notes =new Array()
     
    function proceed(){
    newNote=document.getElementById('saisie').value
     
    if(isNaN(newNote)|newNote.length==0){
    						document.getElementById('saisie').value=""
    						alert("Une note doit être numérique !")
    						return false;}
     
     
    notes.push(Number(newNote))
    document.getElementById('saisie').value=""
     
    document.getElementById('pastrie').innerHTML+=   newNote +"; "
    document.getElementById('trie').innerHTML= notes.sort();
    // moyenne
    var total=0
    var moyenne
    for (i=0;i<notes.length;i++){total+=notes[i]}
    moyenne= Number(total)/notes.length
    document.getElementById('moy').innerHTML= moyenne;
     
    }
    </script>
    </head>
     
    <body>
    <input type="text" id="saisie" />
    <input type="button" value="valider" onclick="proceed()" />
    <br/>
    saisie:<div id="pastrie"></div>
    <br/>
    Notes triée:
    <div id="trie"></div>
    <br/>
    moyenne :
    <div id="moy"></div>
     
    </body>
    </html>

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Ben, je ne peux pas utiliser de fonctions pour faire cet exercice.
    Et c'est bien là le problème !

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut

    pas utiliser de fonction ???

    en plus c'est un exercice !!!

  6. #6
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Bah oui ça se sentait à l'énoncé!

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    soit ...
    mais sans fonction ... ???
    javascript c'est uniquement des focntions ...
    donc crayon papier + gomme ???
    ou les doigts + cutter pour les soustractions ?

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par Bpat
    Ben, je ne peux pas utiliser de fonctions pour faire cet exercice.
    Et c'est bien là le problème !
    je pense que tu ne dois pas utiliser de fonction comme sort, mais tu es bien obligé d'utiliser des fonctions....

    ou alors, ton prof(?)
    pensait a document.write entre une balise scrip, mais document.write, ne serait pas une fonction

    donc crayon papier + gomme ???
    ou les doigts + cutter pour les soustractions ?

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Non, je dois faire cela avec des boucles et des new Array.

    Oui, c'est un exercice et il est très important ma réussite. J'ai beau avoir presque un 1/2 siècle, ce n'est pas pour cela que j'arrête les études ... même si je suis aussi un prof

    Et ce foutu exercice, ben il me résiste grrrr

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    pas trop compliqué de trier...

    tu prends le premier élément de la liste et tu m'insères dans le tableau
    ensuite tu porend le second et tu scannes le tableau jusqu'à ce que l'element soit plus grand que le dernier element auquel il a été comparé ..et tu le colle là ...

    avec des split et des join ...

  11. #11
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Désolé mais le javascript est accessoire pour ton problème, ton problème est un pur problème d'algorithmie.
    Ici, on utilise des objets.

    Donc un tutoriel sur le parcours de tableaux devrait t'aider.

  12. #12
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par "kichemans
    je pense que tu ne dois pas utiliser de fonction comme sort, mais tu es bien obligé d'utiliser des fonctions....
    J'aime bien la méthode des cutter et des doigts

    Mais bon
    récupère tes donnée une a une avec de simples conditions tu insères dans ton array... si c'est plus grand ou plus petits

    Ya des méthode de tri..certain sont plus difficile que d'autre, dans ton cas je crois qu'il faut que tu implémentes une par toi-meme

    Je te suggère de faire ce que tu veux sur papier...avec des dessins, ca aide à la compréhension parfois...si on se lance directement dans le code on risque de se perde facilement surtout dans un algoritme improvisé


  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    jette un oeil sur "splice" ...

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par SpaceFrog
    pas trop compliqué de trier...

    tu prends le premier élément de la liste et tu m'insères dans le tableau
    ensuite tu porend le second et tu scannes le tableau jusqu'à ce que l'element soit plus grand que le dernier element auquel il a été comparé ..et tu le colle là ...

    avec des split et des join ...
    Peux pas utiliser des split et join car pas encore vu au cours et je dois absolument utiliser le tri par extraction, des boucles while, un tableau. Le prof a bien insisté la dessus et comme la cote entre dans les points d'examen ....


    Un grand merci pour votre aide

  15. #15
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Et bien alors c'est la meme chose
    Tu parcour un array de donnée
    tu en créer une autre
    alors a cahque fois que tu trouve une valeur plus petite tu la garde dans une variable et quand ton premier array est parcouru en entier
    tu l'insère dans ton 2e array...
    tu peux meme changer ta première expression pour etre certain de ne pas la réutiliser
    si ce sont des entier positif seulement change pour -1...
    ainsi de suite jusqu'a ce que tu n'ait plus de valeur dans ton premier arrays
    dans ce cas ton deuxième est en ordres...

  16. #16
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Ahhh les tris...
    Peut-être une des fonctions les plus utilisés dans un ordinateur.
    Comme algorithme de tri, je peux te proposer un tri par sélection, tri à bulle, tri par fusion, tri rapide (aka quicksort), et un tri postale.

    Je ne connais pas le tri par extraction, mais je suppose que si l'énoncé de ton exercice le demande c'est que tu as vu cet algo en cours. Et à partir du moment où tu connais l'algorithme, l'implémentation est un jeu d'enfant.


    Ma question est donc simple : où se situe ton problème ?
    Si c'est parceque tu ne connais pas l'algo de tri par extraction, relis tes cours.
    Si c'est un problème d'implémentation en JavaScript, précise l'algo et ton problème.

    Mais dans tous les cas ne t'attends pas à ce qu'on le fasse à ta place.

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par ozzmax
    Et bien alors c'est la meme chose
    Tu parcour un array de donnée
    tu en créer une autre
    alors a cahque fois que tu trouve une valeur plus petite tu la garde dans une variable et quand ton premier array est parcouru en entier
    tu l'insère dans ton 2e array...
    tu peux meme changer ta première expression pour etre certain de ne pas la réutiliser
    si ce sont des entier positif seulement change pour -1...
    ainsi de suite jusqu'a ce que tu n'ait plus de valeur dans ton premier arrays
    dans ce cas ton deuxième est en ordres...
    C'est ce que j'avais compris qu'il fallait faire. Le problème est de tout mettre en "musique".

    Euhh, non, je ne demande pas la solution toute cuite simplement une p'tite aide

  18. #18
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    J'ai donné un lien vers un cours de parcours de tableaux. C'est amplement suffisant.

Discussions similaires

  1. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  2. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25
  3. Tri par fusion d'un tableau
    Par Mailgifson dans le forum C
    Réponses: 5
    Dernier message: 12/12/2002, 14h53
  4. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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