J arrive pas a executé ce programme dans dev

imam7a9 Messages postés 1 Statut Membre -  
 brahim usto -
Bonjour,
svp j'ai un problème c'est que j'ai pas arrivé à executer le programme desous.c'est un programme d'une méthode d'analyse numérique si vous aver d'autres exemples de programmes des méthodes ça va etre tres gentille de votre part merci d avance
(j'utilise dev c++)

// Runge-Kutta.cpp
//--------------------------------------------------
//A Runge-Kutta Method for solving Differential Equations
//of the form y'=f(x,y) ; y(x0)=y0
//--------------------------------------------------

#include <iostream>
#include <iomanip>
using namespace std;

//Define constants
#define X0 0
#define Y0 0
#define H 0.2
#define N 5

//Define Functions
double f(double x, double y);
double runge(double x, double y);

//Main Function
int main(double x, double y)
{
cout<<"\t*** Euler Method ***"
<<"\n\n";
cout<<" "
<<setw(12)<<"x"<<setw(12)<<"\ty"
<<"\n"
<<"\t------------------------------"
<<"\n";
y=Y0;
for(int i=0;i<=5;i++)
{
x=X0+(i*H);
y=runge(x,y);
cout<<left<<setw(6)<<i<<"|"
<<setprecision(4)<<left<<setw(8)<<"\t"<<x
<<setprecision(4)<<left<<setw(8)<<"\t"<<y;
cout<<"\n\n";
}
cout<<"\n\n";
return 0;
}

double runge(double x, double y)
{
double K1 = (H * f(x,y));
double K2 = (H * f((x + 1 / 2 * H), (y + 1 / 2 * K1)));
double K3 = (H * f((x + 1 / 2 * H), (y + 1 / 2 * K2)));
double K4 = (H * f((x + H), (y + K3)));
double runge = (y + (1 / 6) * (K1 + 2 * K2 + 2 * K3 + K4));
return runge;
}

double f(double x, double y)
{
double f = x+y;
return f;
}
>
A voir également:

2 réponses

Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
 
salut

là il y a un problème :


int main(double x, double y)


une fonction main en c++ a soit * pas d'argument, soit * 2 arguments qui sont un int et un char ** (un nombre, qui correspond au nombre d'arguments donnés au programme, et un tableau de chaines de caractère style C, qui contient chaque argument).

normalement, ils sont nommés ainsi (mais le nom n'a pas d'importance) :

int main(int argc, char * argv[])

argc = argCount (nombre d'argument)
argv =argValue (valeur des arguments)

le premier argument est argv[1], le deuxième argv[2], etc... (argv[0] contient le nom du programme comme il a été appelé)

pour donner tes arguments a ton programme, il y a une option dans devcpp, mais je ne me souviens plus où, ou alors tu peux ouvrir un terminal (démarrer -> exécuter -> tape "cmd" et entrée
puis après va dans le dossier de ton programme, puis tape son nom, si tu connais les commandes Dos.

ex :

c:\Documents and Settings\TonNom\Bureau\> monprogramme 3.4 5.6
ainsi argv[1] contiendra "3.4" (en chaine de caractère, faudra convertir en nombre avec atof() ou une fonction du genre), et argv[2] "5.6"
0
imam
 
merci bcp mais est ce que vous pouvez m'envoyer un programme qui redoudre les equations différentiel pae la methode de runge kutta a l ordre 4? merci d avance
0
brahim usto
 
ja arrive de resoudre ce exerecice de runge kutta 4
0
brahim usto
 
personne me aider svp
0