Problème de calcul d'une fonction C++

yooooo -  
Symeon94 Messages postés 153 Statut Membre -
Bonjour,

Je suis débutant en C++, actuellement j'essaie de calculer une fonction . Avec une énergie comprise entre 6*10^6 et 20*10^6 avec e=energy.
Le problème c'est que sa ne marche pas. Pouvez-vous m'aider?
voici mon code:

#include <iostream>
#include <fstream>

double c= 299792458;
double det_pos=28.4111;
double mc = 939.56536;
int i;

int nbmax=20000000;

int temps(double e)
{
double temps = 0;

for (i=0;i<nbmax;i++)
{

temps = ((det_pos/c)*sqrt(1./(1.-(1./((e[i]/mc)+1.)*(e[i]/mc)+1.))))*1000000;
return temps;
}

}

2 réponses

  1. Symeon94 Messages postés 153 Statut Membre 2
     
    JE comprend pas bien ton code, mais on ne déclare pas de variable hors d'une fonction.

    Tu fais

    double c= 299792458;
    double det_pos=28.4111;
    double mc = 939.56536;
    int i;
    
    int nbmax=20000000; 


    et ensuite tu fait ta foncion. Alors que ca devrait être integrer dedans.

    Aussi en c++ pas besoin de noter int i puis de faire un for. Fait

    for(int i = 0 ; i<nbmax;i++)
    0
    1. piou
       
      J'essaie de calculer la fonction t, mais mon soucis, c'est que qu'il me sort
      Error: Function temps() is not defined in current scope :0:
      Est ce qu'il me calcule bien ma fonction pour x prit entre 6E6et 20E6?
      #include <iostream>
      #include <fstream>


      int temps(double e)
      {

      double temps = 0;
      double c= 299792458;
      double det_pos=28.4111;
      double mc = 939.56536;

      if(x>6.E6 && x <20.E6) //intervalle
      {

      temps = ((det_pos/c)*sqrt(1./(1.-(1./((x/mc)+1.)*(x/mc)+1.))))*1000000;
      return temps;
      }
      }
      }
      0
  2. Symeon94 Messages postés 153 Statut Membre 2
     
    dans ton main rajoute le prototype

    int temps(double e);


    au dessus du code
    0