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

Langage Perl Discussion :

Tri dans tableau


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut Tri dans tableau
    Bonjour à tous ,

    Je m'en remet à vos connaissances une fois de plus, mais mes connaissances actuelles ne me permettent pas encore d'aller plus loin.

    j'ai un tableau contenant ces lignes :

    17/06/2016 12:24:13;AII;12105/4,0,0,0;collecte;CoeurGP;ERROR (3) : Can not convert file
    17/06/2016 13:36:13;AII;12104/4,0,0,0;collecte;CoeurGP;ERROR (3) : Can not convert file
    17/06/2016 14:11:13;AII;12105/4,0,0,0;collecte;CoeurGP;ERROR (3) : Can not convert file
    17/06/2016 15:11:13;AII;12104/4,0,0,0;collecte;CoeurGP;ERROR (3) : Can not convert file
    18/06/2016 13:36:13;AII;12106/4,0,0,0;collecte;CoeurGP;ERROR (3) : Can not convert file

    et je cherche à présenter un resultat sous cette forme :

    Nombre d'alarmes '12104' le 17/06/2016 : 2
    Nombre d'alarmes '12105' le 17/06/2016 : 2
    Nombre d'alarmes '12106' le 18/06/2016 : 1

    En glanant des infos sur le web j'ai bien comprit qu'il me fallait utiliser les tables de hashage mais .... ( vivement ma formation).

    Merci pour votre aide !!

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Est-ce que tu sais au moins comment extraire les données de ton fichier?

    Si oui, lors de la lecture du fichier, en supposant que tu as récupéré ce que tu veux dans les variables $date et $id, tu peux écrire dans un hachage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $hash{$id}{$date}++;
    Après avoir fini la lecture du fichier, utilise le hachage pour imprimer tes lignes de résultats.

    Je reviendrai dire comment si tu ne sais pas faire, mais ce serait bien que tu essaies.

  3. #3
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    mes données sont dans une table : @alarmes , ça c'est fait c'est justement sur la suite que je coince

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    A partir de ton tableau @alarmes, tu peux créer le hash proposé par Lolo.
    Il suffit de parcourir toutes ses lignes et d'en extraire pour chacune la date et l'ID et pour chaque ligne, remplir le hash avec l'instruction que lolo a fourni.
    Mais le plus simple est de faire cela pendant la lecture du fichier, à la place du remplissage du tableau @alarmes.

    Montre nous le bout de code que tu as actuellement pour lire ton fichier d'alarmes.

  5. #5
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    ce qui me permet de recuperer mon tableau c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @result = `$rep_outils/journal -jd $Date -AII -xlib Desactivation_d_alarme -audit` ;
    $lignes = @result - 1;
    for ( $k=7 ; $k<=$lignes ; $k++ ) {
    	push (@alarmes , $result[$k]);
    }
    mais je ne pense pas que ça aide ... c'est bien à partir de @alarmes que je doit partir ...

  6. #6
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    déjà grâce à vos remarque j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach $ligne ( @alarmes ) {
    	$date = substr ($ligne,0,10);
    	$id = $1 if $ligne =~ /;(\d+)\//;
    	%visu_alarme{$date}{$id} ++;
    }
    Mais :

    syntax error at ./Alarme_AII.pl line 78, near "%visu_alarme{"
    syntax error at ./Alarme_AII.pl line 78, near "++;"
    Execution of ./Alarme_AII.pl aborted due to compilation errors.

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

Discussions similaires

  1. Recherche élément médian dans tableau non trié
    Par chicorico dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2009, 17h39
  2. Tri dans tableau html via liste déroulante
    Par guispider dans le forum Langage
    Réponses: 7
    Dernier message: 18/02/2009, 17h31
  3. Tri dans un tableau et indices
    Par size_one_1 dans le forum C
    Réponses: 10
    Dernier message: 16/05/2006, 00h17
  4. Problème dans un tri de tableau
    Par pmboutteau dans le forum ASP
    Réponses: 5
    Dernier message: 29/11/2005, 13h12
  5. [langage] tri dans tableau de hachage
    Par mimilou dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2004, 16h10

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