This application has requested the runtime...
Lo
-
Lo -
Lo -
Bonjour,
J essaye actuellement de programmer la transformée de Hough en C. Le but est de reconnaitre les lignes blanches d'une route dans une image.
Voila mon probleme. J ai crée une matrice accumulateur comme suit:
------------------------------------------------------------------------------------------
int **accumulateur= new int*[m_FacteurEtalement];
for(lala=0;lala<m_FacteurEtalement;lala++) {
accumulateur[lala] = new int[m_FacteurEtalement];
}
.....
for(lala=0;lala<rmax;lala++){ // et non for(i=0;i<m_TailleCode;i++)
delete accumulateur[lala]; // et non delete [] Matrice[i];
}
delete [] accumulateur;
------------------------------------------------------------------------------------------
Cela compile mais comme j ai besoin d'une deuxieme matrice , j'ai copié exactement les mêmes lignes en remplacant accumulateur par accumulateur2 . Cela compile toujours, mais quand je lance mon programme j obtient un "this application has requested the Runtime to terminatenit in an unusual way."
je ne comprend pas pourquoi je n' ai le droit de créer qu'une seule matrice et pas deux...
Si quelqu'un a une idée et un peu de temps s'il vous plait! Help!!!!
Merci!
J essaye actuellement de programmer la transformée de Hough en C. Le but est de reconnaitre les lignes blanches d'une route dans une image.
Voila mon probleme. J ai crée une matrice accumulateur comme suit:
------------------------------------------------------------------------------------------
int **accumulateur= new int*[m_FacteurEtalement];
for(lala=0;lala<m_FacteurEtalement;lala++) {
accumulateur[lala] = new int[m_FacteurEtalement];
}
.....
for(lala=0;lala<rmax;lala++){ // et non for(i=0;i<m_TailleCode;i++)
delete accumulateur[lala]; // et non delete [] Matrice[i];
}
delete [] accumulateur;
------------------------------------------------------------------------------------------
Cela compile mais comme j ai besoin d'une deuxieme matrice , j'ai copié exactement les mêmes lignes en remplacant accumulateur par accumulateur2 . Cela compile toujours, mais quand je lance mon programme j obtient un "this application has requested the Runtime to terminatenit in an unusual way."
je ne comprend pas pourquoi je n' ai le droit de créer qu'une seule matrice et pas deux...
Si quelqu'un a une idée et un peu de temps s'il vous plait! Help!!!!
Merci!
A voir également:
- This application has requested the runtime...
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Desinstaller application windows - Guide
- Directx runtime - Télécharger - Pilotes & Matériel
- C++ runtime - Guide
- Java runtime environment - Télécharger - Langages
4 réponses
Tu as du faire une cagade quelque part. Donne ton code.
Il n'y a pas de raison que ça ne fonctionne pas, sauf si ta matrice est vraiment énorme (genre tu satures la RAM)
Il n'y a pas de raison que ça ne fonctionne pas, sauf si ta matrice est vraiment énorme (genre tu satures la RAM)
Merci pour ta reponse rapide!!!
Tu as raison, j avais fait une matrice trop grande ( m_FacteurEtalement=20000)
Mais je pensais que l'ordinateur avait une plus grande mémoire!!!
Merci encore pour ton aide!!
Tu as raison, j avais fait une matrice trop grande ( m_FacteurEtalement=20000)
Mais je pensais que l'ordinateur avait une plus grande mémoire!!!
Merci encore pour ton aide!!
un int prend 4 octet (classiquement). Chaque matrice prend au moins (2.10^4)²=4.10^8 octet
si tu en as deux ça fait 8.10^8 octet soit presque 1 Go de mémoire. Et encore l'estimation est faite en estimant que la mémoire est continue etc.
En règle général , mais en particulier dans ton cas, il faut tester la valeur de retour de new pour vérifier que tout s'est bien passé.
si tu en as deux ça fait 8.10^8 octet soit presque 1 Go de mémoire. Et encore l'estimation est faite en estimant que la mémoire est continue etc.
En règle général , mais en particulier dans ton cas, il faut tester la valeur de retour de new pour vérifier que tout s'est bien passé.