kyoshou | Bonjour,
voila j'ai un soucis avec mon programme fait avec emacs + compilation
lors de l'execution du programme il me renvoie des valeurs impossible
je pense à une librairie manquante lorsque j'ai installé emacs sur windows, car lorsque le fait sous linux aucun soucis.
vous allez me dire ben pourquoi le fais tu pas sur linux ? ben parce j'y ai accès occassionnellement à la fac
voici le programme :
Code :
- #include<cstdlib>
- #include <ctime>
- #include<iostream>
- #include<math.h>
- #include<fstream>
- using namespace std;
- void funk(double*& K, double*z){
- K[0]=0.;
- for(int i=1;i<=10;i++){
- K[i]=z[i]*1/50000000;
- // cout<<K[i]<<endl;
- }
- for(int i=11;i<21;i++){
- K[i]=K[20-i];
- // cout<<K[i]<<endl;
- }
- }
- void coefftransmit (double*&T,double*z,double*K,int n){
- for(int i=0;i<n;i++){
- T[i]=exp(-K[i]*z[i]);
- // cout<<T[i]<<endl;
- }
- }
- void f(const double* T,double zmax,int& i,int& k,int& c){
- int s=1;
- i=1;
- k=0;
- c=0;
- while ((i>0) and (i<zmax)) {
- double x = (float) rand()/RAND_MAX;
- if(x>T[i]){
- s=-1*s;
- i=i+s;
- if(s<0){k=i;
- }
- }
- else{
- i=i+s;
- c=c+1;
- }
- // cout<<" i= "<<i<<endl;
- }
- }
- void Intensite(double*&I,int k,int i,int c,int& r){
- //cout<<"i = "<<i<<" k="<<k<<endl;
- if(i==0){
- // cout<<"k = "<<k<<endl;
- I[k]=I[k]+1;
- }
- }
- int main()
- {
- float x;
- srand((unsigned)time(NULL));
- int n=20;
- int zmax = n;
- int N =100000;
- double*T=new double[n];
- double*I=new double[n];
- double*z=new double[n+1];
- z[0]=0;
- for (int u=1;u<=n;u++){
- z[u]=z[u-1]+500;
- }
- double*K=new double[n+1];
- funk(K,z);
- double*C=new double[N];
- int k;
- int i;
- int c;
- int r;
- coefftransmit (T,z,K,n);
- for(int j=0;j<N;j++){
- // cout<<"j1 "<<j<<endl;
- f(T,zmax,i,k,c);
- // cout<<"j2 "<<j<<endl;
- Intensite(I,k,i,r,c);
- // cout<<"j3 "<<j<<endl;
- C[j]=c/2;
- }
- ofstream fichier ("montecarlo2.xls" );
- for(int l=0;l<=n;l++){
- fichier<<z[l]<<"\t \t" <<I[l]/N<<endl;
- }
- ofstream fichier2 ("transmission.dat" );
- for(int l=0;l<=N;l++){
- fichier2<<C[l]<<endl;
- }
- }
|
ce qui pose probleme en sortie est les I[l]/N normalement on ne doit pas depasser 1 or la j'ai des puissance de 10 qui apparaissent
version: emacs -->Emacs-23-CvsP080909-EmacsW32-1.58
compilateur : g++ --->qui vient de mingw
merci à tous ceux qui veuillent bien m'aider
Configuration: Windows
Firefox 3.0.11 |