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

ASP Discussion :

Trie d'un tableau et resultat que je comprends pas


Sujet :

ASP

  1. #1
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut Trie d'un tableau et resultat que je comprends pas
    Bonjour a tous
    Je trie un tableau a une seule colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Tampon 
    Dim Tableau
    Tableau = tableaunumeros
    For I=1 to UBound(Tableau,1)
    For J=I+1 to UBound(Tableau,1)
    If  Tableau(i)<Tableau(j) Then 'décroissant
    Tampon=Tableau(i)
    Tableau(i)=Tableau(j)
    Tableau(j)=Tampon
    End If
    Next
    Next
    Ca me retourne cet ordre 260,250,10,105,100, 9,85 etC
    Il parait qu'il fait la comparison sur du texte et non pas sur des Int, faut i l reconvertir mes valeurs en int ou quoi, c'est bizarre !

    Des idées ? Merci

  2. #2
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Convertis tes valeurs en int, ca coute rien et c'est plus sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Tampon 
    Dim Tableau 
    Tableau = tableaunumeros 
    For I=1 to UBound(Tableau,1) 
    For J=I+1 to UBound(Tableau,1) 
    If  Clng(Tableau(i))<Clng(Tableau(j)) Then 'décroissant 
    Tampon=Tableau(i) 
    Tableau(i)=Tableau(j) 
    Tableau(j)=Tampon 
    End If 
    Next 
    Next

  3. #3
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Hello malba merci a toi,
    J'ai un message d'erreur type incompatible sur CLNG quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If  Clng(Tableau(i))<Clng(Tableau(j)) Then 'décroissant

  4. #4
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Essaies CInt

  5. #5
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par pmboutteau
    Essaies CInt
    Ca donne pareil, c'est bizarre.

  6. #6
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    C'est quoi tableaunumeros?

    Si c'est comme en C tu peux pas faire un tableau égal à un autre il faut le remplir case par case.

  7. #7
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Il y a quoi dans ton tableau?

  8. #8
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    En fait j'ai une chaine de cette facon : 231,258,685,952, que j'en voie par GET, je fait split ce qui me rempli le tableau (j'utilise la virgule comme delimtateur), jusque la pas de probleme.

    Je veux juste faire par ordre decroissant ce tableau. Donc tableaunumeros est censé etre un tableau de Texte vu la facon dont il me trie. Voila

  9. #9
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    après ton split essaies de convertir en Int à ce moment là et trie ensuite ton tableau d'entiers.

  10. #10
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    J'ai trouvé ce qui ne va pas dans ton algo.
    Il y a un probleme sur les indices de tes tableaux.
    En asp les tableaux vont de 0 à Ubound.
    Lorsque tu fais J=I+1 si I = UBound(Tableau,1) alors J sort du tableau.
    Voici un code qui doit fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Tampon 
    Dim Tableau 
    Tableau = tableaunumeros 
    For I=0 to UBound(Tableau,1)-1 
        For J=I+1 to UBound(Tableau,1) 
           If  Clng(Tableau(i))<Clng(Tableau(j)) Then 'décroissant 
                Tampon=Tableau(i) 
                Tableau(i)=Tableau(j) 
                Tableau(j)=Tampon 
          End If 
      Next 
    Next

  11. #11
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Malba merci bcp pour ton temps, mais c'est toujours la meme erreur. Type incompatible. Serai t il une virgule qui a glissé dans le tableau

  12. #12
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Fais afficher un par un tout les element du tableau et tu verras bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Tampon 
    Dim Tableau 
    Tableau = tableaunumeros 
    For I=0 to UBound(Tableau,1)-1 
       For J=I+1 to UBound(Tableau,1) 
           Response.Write "Tableau(" & j & ") : " & Tableau(j) &"<br>"
           Response.Write "     typename(Tableau(" & j & ")) : " & typename(Tableau(j)) &"<br>"
           If  Clng(Tableau(i))<Clng(Tableau(j)) Then 'décroissant 
                Tampon=Tableau(i) 
                Tableau(i)=Tableau(j) 
                Tableau(j)=Tampon 
          End If 
      Next 
    Next
    A part ca je ne sais plus quoi te conseiller.

  13. #13
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Merci bcp, j'essayerai debut de la semaine prochaine, le serveur est en panne, je profiterai pour mon rapport de stage.

  14. #14
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    C'est fait, c'est au niveu de la requete SQL qu'il fallait reconvertir en String les arguments.
    A plus

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

Discussions similaires

  1. une ligne de code de variable SQLwhere que je comprend pas
    Par doogybreton dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/01/2008, 15h58
  2. Diff IE7 et Firefox que je comprends pas
    Par syl2042 dans le forum Mise en page CSS
    Réponses: 15
    Dernier message: 20/09/2007, 10h35
  3. [FTP] Pb sur foreach que je comprend pas
    Par Shandler dans le forum Langage
    Réponses: 3
    Dernier message: 28/12/2006, 18h31
  4. Erreur que je comprends pas
    Par makohsarah dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2006, 18h14
  5. Petit truc tout simple que je comprend pas
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/11/2005, 16h56

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