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 :

Question fonction [Débutant(e)]


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Par défaut Question fonction
    Bonjour,

    Je suis débutant sur C++.
    Je me lance dans mes premiers code et je crée une fonction cashFlowPvDiscrete qui prend en input 2 vecteurs, cflowTimes et cflowAmounts ainsi qu'une constante r.

    Il semble que j'ai des soucis sur ma fonction le compilateur n'aboutit pas.

    L'erreur est sans doute minime (ou pas) mais quelqu'un pourrait il me "corriger" mon erreur afin qu je puisse partir sur une base cohérente pour la suite de mon prog.

    Merci à vous tous
    Je promets de m'améliorer
    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
     
    int main()
    {
     
    double PV;
    double cflowTimes[3]={1,2,4};
    double cflowAmounts[3]={5,5,100};
    double r = 0.05;
     
    PV = cashFlowPvDiscrete(cflowTimes, cflowAmounts, r);
     
    }
     
    double cashFlowPvDiscrete(const vector<double>& cflowTimes,
                              const vector<double>& cflowAmounts,
    						  const double& r)
     
    {
    double PV = 0;
    for (int t=0; t <cflowTimes.size(); t++)
    	{
    		PV += cflowAmounts[t]/ pow(1+r,cflowTimes[t]);
    	}
    	return PV;
    }

  2. #2
    Membre émérite
    Avatar de mitkl
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 364
    Par défaut
    Bonsoir,

    ta fonction cashFlowPvDiscrete attend des : cashFlowPvDiscrete(const vector<double>& cflowTimes, const vector<double>& cflowAmounts, const double& r)

    or, toi tu passes cflowTimes et cflowAmounts qui sont des double[3].

    Pour corriger, tu peux simplement remplacer ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vector<double> cflowTimes = {1,2,4};
    vector<double> cflowAmounts = {5,5,100};
    Si tu as un compilateur supportant les listes d'initialisation pour un vector ( vector x = {...} ). Sinon il faut faire à l'ancienne :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    vector<double> cflowTimes;
    cflowTimes.push_back(1);
    cflowTimes.push_back(2);
    cflowTimes.push_back(4);
    
    vector<double> cflowAmounts;
    cflowAmounts.push_back(5);
    cflowAmounts.push_back(5);
    cflowAmounts.push_back(100);

    PS : n'oublie pas la balise [CODE] et les messages retournés par le compilateur la prochaine fois

  3. #3
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Si tu connais la taille des éléments à insérer, il vaut mieux faire vector<double> cflowTimes(nbElement); ou faire un réserve avant d'effectuer les push_back().

    On va allouer une nouvelle zone mémoire à chaque push_back, copier toutes les valeurs stockées puis libérer l'ancienne zone mémoire.

  4. #4
    Membre averti
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Par défaut
    wouhou ça fonctionne !
    petit moment d'émotion c'est mon premier code c++ avec appel de fonction perso !

    Merci à tous pour votre aide
    Bonne journée

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

Discussions similaires

  1. question fonction rename
    Par john123 dans le forum Langage
    Réponses: 4
    Dernier message: 06/02/2008, 00h05
  2. Questions fonction free()
    Par Yann39 dans le forum Bibliothèque standard
    Réponses: 5
    Dernier message: 19/12/2007, 13h27
  3. question fonction en C
    Par space_56 dans le forum Débuter
    Réponses: 4
    Dernier message: 29/08/2007, 01h38
  4. question fonction split
    Par fessebleu dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2006, 02h33
  5. [Excel] question fonction !!!
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 25/01/2006, 19h21

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