Posez votre question Signaler

Programmation emacs ss windows

kyoshou - Dernière réponse le 27 oct. 2009 à 12:27
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 :
#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
Lire la suite 

Programmation emacs ss windows »

2 réponses
Réponse
+0
moins plus
personne n'a d'idée?
Ajouter un commentaire
Réponse
+0
moins plus
normale que ca ne fonctionne pas
1/50000000 va te renvoyer 0 sous windows
Ajouter un commentaire
Ce document intitulé « programmation emacs ss windows » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?