J arrive pas a executé ce programme dans dev
imam7a9
Messages postés
1
Statut
Membre
-
brahim usto -
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;
}
>
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:
- J arrive pas a executé ce programme dans dev
- Massgrave dev - Accueil - Windows
- Programme demarrage windows - Guide
- Dev c++ - Télécharger - Langages
- Dev home. - Télécharger - Développement
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
2 réponses
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"
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"
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
brahim usto
ja arrive de resoudre ce exerecice de runge kutta 4