cs_hitcher
Messages postés21Date d'inscriptionjeudi 8 avril 2004StatutMembreDernière intervention15 septembre 2009
-
9 mars 2006 à 22:04
cs_hitcher
Messages postés21Date d'inscriptionjeudi 8 avril 2004StatutMembreDernière intervention15 septembre 2009
-
11 mars 2006 à 10:11
J'ai déjà mis un poste la dessus sauf que dans cette version j'ai retiré tous les pointeurs et les CLASS, enfin tous les trucs lié à la pile qui pouvez, à mon sens causer sa, et bien non même erreur quand il doit me renvoyer le resultat de la fonction RI. Et pourtant cela compile sans problême. Perso je manque d'expérience sur ce genre de problême.
#include "iostream.h"
#include "math.h"
#define Tol 0.000000001
#define R 0.6180339 //golden section
#define C (1-R)
#define N 100 //max iter
#define Pi 3.14159
if( fabs(c-b)>fabs(b-a) )
{
x1=b;
x2 = b + C * (c - b);
}
else
{
x2 = b;
x1 = b - C * (b - a);
}
f1 = ff(x1,alpha,beta,theta,x,eta);
f2 = ff(x2,alpha,beta,theta,x,eta);
while( fabs(x3-x0) > Tol*(fabs(x1)+fabs(x2)) || n == N)
{
if(f2 < f1)
{
x0 = x1;
x1 = x2;
x2 = R * x1 + C * x3;
f1 = f2;
f2 = ff(x2,alpha,beta,theta,x,eta);
}
else
{
x3 = x2;
x2 = x1;
x1 = R * x2 + C * x0;
f2 = f1;
f1 = ff(x1,alpha,beta,theta,x,eta);
}
n++;
}
if(f1 < f2){return x1;}
else{return x2;}
}
double RI(double a, double b, double alpha,double beta,double theta,double x,double eta)
{
const int MaxIter = 10;
double temp1;
double Mresult[MaxIter][MaxIter];
int n, k, i, m;
cs_hitcher
Messages postés21Date d'inscriptionjeudi 8 avril 2004StatutMembreDernière intervention15 septembre 2009 11 mars 2006 à 10:11
alors le programme compile sans problême. Quand j'execute le programme une fênetre windows m'explique qu'il y a eu un problême et que TestIS.exe (le nom du projet) doit s'arréter.
La fenêtre MSDOS reste elle ouverte (?). Mais rien ne s'affiche.
En mode déboguage, l'erreur a lieu à cette ligne
r1=RI(-eta,gg,alpha,beta,theta,x,eta);
Pour être plus précis on peut "rentrer" dans la fonction RI mais au return, j'ai un message disant erreur access violation. Je pensait que cela est du au pointeur ou au class mais cette versiion présente le même bug.