Intégration 2D C++

Bonjour,

Voilà mon problème, je dois créer un programme permettant l’intégration 2D d’une fonction en C++. Le dilemme est que je ne sais pas coder en C++ mais pas en C. Je fais un peu de scilab mais bon faut pas trop m’en demander donc si ya des personne pour m’aider ou bien pour me donner des pistes, je suis preneur.
Voilà le programme que l’on m’a passé pour l’intégration 1D. On m’aurai passer un bouquin en russe ou en japonais, j’aurais peut être compris mais là…

[codebox]// g++ -o integration.e integration.cpp

#include
#include
#include

using namespace std;

float g(float);

//**********************************************************************
int main (void)
{
//ofstream fich(“integration.dat”);

int i,N=100000,seed=12; // déclaration des variables (seed : numéro d’une série de nbres aléatoires
double pi=acos(-1.); // affecte à la variable pi la valeur du cosinus inverse de -1) en double précision
double GN,alea,G=pi/4.,sigma2;

srand(seed);

cout<<" RAND_MAX"<< (double) RAND_MAX<<endl; // cout : écrit des résultats sur l’écran

GN=0;
for(i=0; i<N; i++)
{
alea=rand()/(double) RAND_MAX; // alea est un nbre réel aléatoire compris entre 0 et 1 (xi)
GN=GN+g(alea);
}
GN=GN/N;
cout<<“GN=”<<GN<<" G="<<G<<endl;

//fich.close();

//ofstream graph (“integration.gnu”);

//graph<<“set encoding iso_8859_1”<<endl;
//graph<<“set title ‘test de convergence’”<<endl;
//graph<<“set xlabel ‘N’”<<endl;
//graph<<“set ylabel ‘sigma’”<<endl;
//graph<<"set logscale x "<<endl;
//graph<<"set logscale y "<<endl;
//graph<<"set terminal x11 "<<endl;
//graph<<,"set terminal postscript color "<<endl;;
//graph<<“set output ‘integration_1D.ps’”<<endl;;
//graph<<"plot ‘integration.dat’ index 0 title ‘MC’ with points "<<endl;
//graph<<"pause 5 ‘pause de 5s’ "<<endl;

//system(“gnuplot integration.gnu”);

}
//**********************************************************************
float g(float x)
{
float gx;

gx=sqrt(1-x*x);

return(gx);
}[/codebox]

Salut,

pense que ça ne dépend pas vraiment de ton langage.
Une intégration ça va être quoi, en gros un calcul d’une suite de “hauteur” y un nombre x de fois…

Donc en gros,

pour x allant de 0 à MAX par pas de LEPASQUIVABIEN ranger dans une structure de donnée quivabien [x] -> f(x) OU l'afficher à l'écran directement dans un format gnuplot compliant fin pour

en gros bis, version code, modulo les emmerdes que posent la représentation des flotants:

float toto; float pas = 0.05; for (toto=0; toto<42.05; toto+= pas) { // do stuff here }