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

C++ Discussion :

calculer moyenne mobile en c++


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Allemagne

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1
    Points : 2
    Points
    2
    Par défaut calculer moyenne mobile en c++
    j essaye d'écrire un code pour calculer la moyenne mobile de 10 éléments . je ne suis pas sûre si la formule que j'ai utilisé est correct. Pourriez vous m'aider svp.
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     std::cout<<"moyenne mobile :\n";
               for(int e = 0 ; e < n - 1; e++)
               {
                   gm[e] +=gm[e-1]/10.0;
                   std::cout<< e << "." << gm[e] << '\n';
     
               }
    merci en avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Tu devrais commencer par lire la définition et être plus précis dans ce que tu cherches https://fr.wikipedia.org/wiki/Moyenne_glissante
    Juste à cette lecture, ton calcul ne ressemble en rien à ce que je vois sur wikipedia et les formules avancées
    En dehors de ça, si tu modifies la valeur courante à chaque fois, ton résultat risque d'être.. intéressant. Une copie ne serait pas un luxe.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2016
    Messages : 20
    Points : 46
    Points
    46
    Par défaut
    Si j'ai bien compris l'énoncé je te propose ce code ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    template<typename Numerique>
    Numerique CalculerMoyenne(std::vector<Numerique>& MaListe){
        int taille = MaListe.size();
        Numerique MoyenneMobile = 0;
        Numerique Somme = 0;
        for(int i=0;i<taille;i++){
             Somme += MaListe[i];
             MoyenneMobile = Somme/(i+1);
             MaListe[i] = MoyenneMobile;     
        }
        return MoyenneMobile;
    }
    //std::cout << "ma moyenne mobile est " << CalculerMoyenne(TaListe);
    @modif
    -Le tableau que tu mettras en paramètre le modifiera directement
    -le nom de la fonction pourrait être plus parlante, elle pourrait être "RemplacerValParMoyenneMobile"

  4. #4
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2016
    Messages : 20
    Points : 46
    Points
    46
    Par défaut
    J'ai eu mal au coeur après ce -1 vous n'imaginez même pas.
    Il est vrai que j'ai pas lu l'algo de la "moyenne glissante" mais j'ai essayé de faire quelque chose "d'équivalent à ce qu'a écrit l'auteur"

    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
    template<typename Numerique>
    Numerique GetValGlissante(size_t index, const std::vector<Numerique>& ListeValeurs){
        if(index==0 || index==ListeValeurs.size()-1){
             return 0;
         }
         Numerique Somme=0;
         for(size_t i=index-1;i<=index+1;i++){
             Somme += ListeValeurs[i];          
         }    
         return Somme/3;
    }
     
    template<typename Numerique>
    std::vector<Numerique> CalculerMoyenneMobile(const std::vector<Numerique>& MaListe){
        std::vector<Numerique> resultat;
        for(size_t i=0;i<MaListe.size();i++){
             resultat.push_back(GetValGlissante(i,MaListe));
        }
        return resultat;
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/09/2013, 10h36
  2. [XL-2010] Calculer moyenne mobile d'une série à partir d'un macro
    Par jinane13 dans le forum Excel
    Réponses: 5
    Dernier message: 18/03/2013, 11h48
  3. [2.5] Calcul Moyenne mobile avec birt
    Par ccmoi dans le forum BIRT
    Réponses: 10
    Dernier message: 29/06/2010, 10h28
  4. Calcul de Moyenne mobile
    Par couanp dans le forum MATLAB
    Réponses: 7
    Dernier message: 23/05/2007, 12h32
  5. Calcul de moyenne mobile
    Par Kloun dans le forum Access
    Réponses: 4
    Dernier message: 27/02/2007, 11h24

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