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 :

Compter les lignes comportant deux nombres différents


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué Avatar de developpeurdu76
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut Compter les lignes comportant deux nombres différents
    Bonjour à tous,

    Voilà un exemple ci-dessous:

    Nom : TABLEAU.png
Affichages : 166
Taille : 19,1 Ko

    Comme vous pouvez le voir, sur les 5 lignes (il y en a 1235 dans le vrai tableau) on retrouve deux fois la paire 24 et 44 sur les même lignes.
    Je souhaiterais donc savoir combien de fois retrouve-t'on cette paire dans le tableau. (mais ça peut aussi être trois nombres).
    (faire en sorte que le zéro en début de nombre soit pris en compte pour les 01,02,03,04,05,06,07,08,09)
    J'espère que j'ai été clair.

    Merci d'avance pour vos futures réponses !!!

  2. #2
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut mémorisation des valeurs
    Bonjour,

    Il faut un tableau ou une structure permettant de gérer la valeur + son compteur.

    Lire chaque ligne
    Pour la ligne en cours lire les valeurs
    Pour la valeur en court
    vérifier si elle existe
    si oui on incrémente un compteur +1
    si non on la crée dans le tableau

    Oups non plus compliqué que cela, car il faut mémoriser le nombre de combinaisons par ligne ....
    Pas simple, l'affaire


    Olivier

  3. #3
    Membre habitué Avatar de developpeurdu76
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Citation Envoyé par nathieb Voir le message
    Bonjour,

    Lire chaque ligne
    Bonjour nathieb,

    Merci pour ta réponse.
    Mais quel formule dois-je utiliser dans Excel?

    Loïc

  4. #4
    Membre Expert Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Par défaut erreur de frappe
    Bonjour,

    Excuse, mes gros doigts et paf enregistré, pas eu le temps de modifier que tu répondais ....

    Olivier

  5. #5
    Membre habitué Avatar de developpeurdu76
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Citation Envoyé par nathieb Voir le message
    Bonjour,

    Excuse, mes gros doigts et paf enregistré, pas eu le temps de modifier que tu répondais ....

    Olivier
    Pas de soucis Olivier, ça arrive à tout le monde !!!

    Loïc

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 229
    Par défaut
    Ton besoin n'est pas clait. tu parles du couple 24,44 ; ok.
    Entre la ligne 2 et la ligne 5, on trouve aussi le couple 01,36, j'imagine qu'il faut aussi compter combien de fois on a 01 et 36 sur une même ligne ?

    L'histoire de 0 en début de nombre, on s'en moque. C'est juste un "format d'affichage" dans Excel ou ailleurs.

    En fait, on ne sais pas trop ce que tu veux obtenir à la fin. Ce serait bien que tu fasses le travail à la main et que tu montres le résultat sur la base des 5 lignes en question.

    Mais de toutes façons, la solution, ce ne sera pas une formule à taper dans Excel. Eventuellement, ce sera une macro Excel.

  7. #7
    Membre habitué Avatar de developpeurdu76
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Merci pour ta réponse,

    En fait je veux pouvoir choisir les paires (ou trois nombres) que je souhaite compter.

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    ça va pas être simple ^^
    dans un premier lieu il faut que tu trie chaque ligne par ordre croissant ou décroissant au choix
    ensuite il faut que tu vérifie toutes les combinaison possible pour chaque ligne

    voici le pseudo code un peut bourrin de ce que tu veut faire

    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
    POUR I = 0 .. Nbligne-1 Faire 
      LGTmp = Trie(ligne[I])
      POUR J = I+1 .. Nbligne Faire  
        LGTmp2 = Trie(ligne[J])
        TROUVE =  0;
         POUR Z = 0 .. longueur(LGTmp) FAIRE
            POUR W = 0 .. longueur(LGTmp2) FAIRE 
               SI  LGTmp[Z] = LGTmp2[W] ALORS  
                  TROUVE =  TROUVE+1 
                FINSI
            FINPOUR
          FINPOUR
          SI TROUVE >=2 ALORS 
             AJOUTE COUPLE (I,J) Dans LISTE  
      FINPOUR
    FINPOUR

  9. #9
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 229
    Par défaut
    Dans Excel, tes données sont en lignes 2 à 1236 , colonnes A à J ; on laisse la ligne 1 pour une ligne de titre
    On va laisser la colonne K vide
    En L1 tu mets le premier nombre cherché (24 par exemple) ; Idem 44 en M1

    En L2, tu mets cette formule : =NB.SI($A2:$J2;L$1)
    Cette formule marche sur Open-Office. Je me demande si sous Excel, la syntaxe est exactement la même , ou bien : =NB.SI($A2:$J2;"="&L$1)
    Tu copies cette formule sur les colonnes L et M, lignes 2 à 1236.

    En cellule N2, tu mets la formule = L2*M2 , puis tu copies sur les lignes 3 à 1236
    Et enfin, en cellule N1 , tu mets la formule = somme(N2:N1236).

    Je te laisse adapter si tu as un Excel en langue anglaise.

  10. #10
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    En L2, tu mets cette formule : =NB.SI($A2:$J2;L$1)
    C'est effectivement une des clés si tu passes par un tableur.

    Pour limiter le nombre de formule (et donc de colonnes à utiliser), je mettrais en L2 la formule suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(NB.SI($A2:$J2;L$1); NB.SI($A2:$J2;M$1))
    Grâce à l'opérateur ET, tu exiges que la valeur en L1 soit présente sur la ligne, de même que la valeur en M1.

  11. #11
    Membre habitué Avatar de developpeurdu76
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Dans Excel, tes données sont en lignes 2 à 1236 , colonnes A à J ; on laisse la ligne 1 pour une ligne de titre
    On va laisser la colonne K vide
    En L1 tu mets le premier nombre cherché (24 par exemple) ; Idem 44 en M1

    En L2, tu mets cette formule : =NB.SI($A2:$J2;L$1)
    Cette formule marche sur Open-Office. Je me demande si sous Excel, la syntaxe est exactement la même , ou bien : =NB.SI($A2:$J2;"="&L$1)
    Tu copies cette formule sur les colonnes L et M, lignes 2 à 1236.

    En cellule N2, tu mets la formule = L2*M2 , puis tu copies sur les lignes 3 à 1236
    Et enfin, en cellule N1 , tu mets la formule = somme(N2:N1236).

    Je te laisse adapter si tu as un Excel en langue anglaise.
    Merci pour ta réponse. Ça fonctionne.
    Cordialement,

    Citation Envoyé par dorinf Voir le message
    C'est effectivement une des clés si tu passes par un tableur.

    Pour limiter le nombre de formule (et donc de colonnes à utiliser), je mettrais en L2 la formule suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(NB.SI($A2:$J2;L$1); NB.SI($A2:$J2;M$1))
    Grâce à l'opérateur ET, tu exiges que la valeur en L1 soit présente sur la ligne, de même que la valeur en M1.
    Merci pour ta proposition de formule. Je vais la tester demain soir, car je suis en déplacement.
    Cordialement,

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

Discussions similaires

  1. [LibreOffice][Tableur] Compter les lignes comportant deux chiffres différents
    Par developpeurdu76 dans le forum OpenOffice & LibreOffice
    Réponses: 8
    Dernier message: 28/11/2016, 16h58
  2. [Batch] compter les lignes différents
    Par linconnue55 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 03/10/2011, 21h25
  3. Compter les lignes du résultat d'une requete
    Par mfavier dans le forum ASP
    Réponses: 4
    Dernier message: 30/06/2006, 21h05
  4. Compter les lignes d une <TABLE>
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/01/2005, 14h43
  5. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17

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