cs_sylvain230
Messages postés67Date d'inscriptionmardi 5 décembre 2000StatutMembreDernière intervention 5 juillet 2010
-
17 juin 2010 à 11:53
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
17 juin 2010 à 16:41
Bonjour,
Je ne comprends pas mon problème. Ca doit être un problème de réallocation
Voila mon code :
// Initialisation de fen_remontee de -2 à +2
int cpt = -2;
int demi_fen_remontee = 2 ;
unsigned int i_max ;
// On copie notre signal dans une variable temporaire
for( i = 0 ; i < tailles_ond[i_ech] ; i++)
{
//printf("%f \n", ond_d[i_ech][i]);
signal_fen[i] = abs(ond_d[i_ech][i]); // On récupère les valeurs de chaque décomposition et on prend la valeur absolue
}
// On rajoute les pic potentiels à la suite
for(unsigned int i_pic = 0 ; i_pic < nb_pics[i_ech] ;i_pic++)
{
pic_potentiels[nb_decomposition][ i_pic + nb_pics[nb_decomposition] ] = pic_potentiels[i_ech] [ i_pic ];
}
nb_pics[nb_decomposition] = nb_pics[nb_decomposition] + nb_pics[i_ech];
Je peux faire un tour de boucle.
J'arrive à afficher les valeurs signal_fen[j] et sig_pics [j] mais je ne peux pas faire un fprintf ( fic , " %f \n" ,signal_fen[j] ,sig_pics [j] ) ;
Il me dit :
Windows a déclenché un point d'arrêt dans StageM1.exe.
Cela peut être dû à une défaillance du tas qui indique un bogue dans StageM1.exe ou l'une des DLL chargées.
Cela peut également être dû à l'appui sur la touche F12 lorsque StageM1.exe a le focus.
La fenêtre Sortie peut contenir des informations de diagnostic supplémentaires.
La je vois vraiment pas
Aidez moi svp merci d'avance !!
Hésitez pas à poser des questions si vous ne comprenez pas mon problème
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 17 juin 2010 à 13:09
Si tu peux me faire un exemple qui met en avant ton problème et qui compile, je peux t'aider à le débugger.
PS: Tu fais du C ou du C++ ? Je serais tenté de dire que tu fais du C. Dans ce cas, si tu as besoin de "caster" les retours de ton malloc, c'est que tu utilises un compilateur C++ pour faire du C (dev-c++ ?). Attention, certaines choses du C ne sont pas prises en charge par un compilateur C++ (ou pris différemment). Cette remarque n'a pas de rapport avec ton problème.
Sachant que pour tailles_ond[ i_ech ] : On a
unsigned int * tailles_ond = (unsigned int*) malloc( nb_decomposition * sizeof(double) );
En fait on est sur une décomposition par ondelettes db4 et nb_decomposition correspond au nombre de fois ou l'on a décomposé le signal.
En fait je crois qu'il y a tout simplement une différence avec ca
pic_potentiels[nb_decomposition][i_pic] = pic_potentiels[nb_decomposition][i_pic] *2 ;