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 :

Probleme de calcul :S


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Points : 99
    Points
    99
    Par défaut Probleme de calcul :S
    Lut, j'ai un petit algo qui calcul dans une phrase combien de fois un mot est présent et qu'elle densité il a dans celle-ci. Mais j'ai une erreu dans mon code il ne calcul pas bien la densité

    par exempple dans la phrase
    maman fait le jardin
    (on rigole pas svp ) ben maman a une densité de 25% ben mon script en calcul 33.???? %

    voici le code


    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
    #!/usr/bin/perl -w
    use strict;
     
    #####################################
    # Programme principale
     
    my @tablo = qw / la maison en carton /;
     
    my %occurence = &calcul_occurence(\@tablo);
     
    foreach my $word(keys(%occurence)){
     
       my $densite = ($occurence{$word}*100)/$#tablo+1;
     
        print "$word apparaît $occurence{$word} fois et sa densité est $densite%.\n";
    }
     
     
    #####################################
    # Calcul des occurences
     
    sub calcul_occurence()
    {
       my %occur = ();
       my $tablo = $_[0];
     
       foreach my $word (@$tablo)
       {
          if (! $occur{$word})
          {
             $occur{$word} = 1;
          }
          else {
             $occur{$word}++;
          }
       }
     
       return %occur;
    }
    merci

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Ce doit être mieux 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
    #!perl
     
    use strict;
    use warnings;
     
    #####################################
    # Programme principale
     
    my @tablo = qw / la maison en carton /;
     
    my %occurence = &calcul_occurence(@tablo);
     
    foreach my $word(keys(%occurence)){
     
       my $densite = ($occurence{$word}*100)/($#tablo+1);
     
        print "$word apparaît $occurence{$word} fois et sa densité est $densite%.\n";
    }
     
     
    #####################################
    # Calcul des occurences
     
    sub calcul_occurence()
    {
       my %occur = ();
       my @tablo = @_;
     
       foreach my $word (@tablo)
       {
          $occur{$word}++;
       }
     
       return %occur;
    }
    Ta principale erreur est corrigée ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       my $densite = ($occurence{$word}*100)/($#tablo+1);
    Tout le reste n'est que simplifications ...
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Points : 99
    Points
    99
    Par défaut
    Merci 2Eurocents

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

Discussions similaires

  1. [VB6]Probleme de calcul...
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/04/2006, 16h08
  2. [FLASH 8] Problemes de calcul précis avec FLASH
    Par ZecMan dans le forum Flash
    Réponses: 1
    Dernier message: 20/02/2006, 14h03
  3. probleme de calculs : 1-0.9 = 0.099999999999998
    Par francon81 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/06/2005, 14h17
  4. Petit probleme de calcul...
    Par Mistoufline dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 17/05/2005, 16h52
  5. [Conversion]Probleme de calcul en double et en floatant
    Par TOPGUN89 dans le forum Général Java
    Réponses: 2
    Dernier message: 18/04/2005, 17h46

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