Erreur: Invalid allocation size
Résolu/Fermé
chalmia2s
Messages postés
31
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
15 octobre 2009
-
18 févr. 2009 à 12:23
chalmia2s Messages postés 31 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 15 octobre 2009 - 19 févr. 2009 à 16:18
chalmia2s Messages postés 31 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 15 octobre 2009 - 19 févr. 2009 à 16:18
A voir également:
- Erreur: Invalid allocation size
- Erreur 0x80070643 - Guide
- Erreur 10016 epson - Forum Imprimante
- Erreur c2002 western union ✓ - Forum Vos droits sur internet
- Erreur g030 - Forum Bbox Bouygues
- Erreur 5000 france tv - Forum Lecteurs et supports vidéo
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
18 févr. 2009 à 12:32
18 févr. 2009 à 12:32
Salut,
Poste ton code ;)
Poste ton code ;)
chalmia2s
Messages postés
31
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
15 octobre 2009
18 févr. 2009 à 14:39
18 févr. 2009 à 14:39
voila le code:
#include <windows.h>
#include "LME_Ext.h"
#include "kp.h"
static lme_err kp(lme_ref lme, lme_int32 nargin, lme_int32 nargout)
{
double **im;
double *ind1, *ind2;
int i, j, n;
int r, c;
double img;
r = 0;
c = 0;
lme_int32 m, l;
lme_float64 *re;
if(!LMECB_GetMatrix(1, &m, &l, &re, NULL)) return 0;
r = m;
c = l;
img = (double)*re; // image!
im = new double*[r];
for(i=0; i<r; i++)
im[i] = new double[c];
**im = img;
n=0;
for (i=0; i<r; i++){
for (j=0; j<c; j++){
if (im[i][j] != 0 ){
n++;
}
}
}
ind1 = new double[n];
ind2 = new double[n];
int k=0;
for (i=0; i<r; i++){
for (j=0; j<c; j++){
if (im[i][j] != 0 ){
ind1[k] = i;
ind2[k] = j;
k++;
}
}
}
if(!LMECB_PushMatrix(n, 1, &ind1, NULL)) return 0;
if(nargout >= 2)
if(!LMECB_PushMatrix(n, 1, &ind2, NULL)) return 0;
for(int i=0; i<r; i++){
delete [] im[i];
}
delete [] im;
delete [] ind1; delete [] ind2;
return 1;
}
static lme_fn fn[] = {
{"kp", kp, 1, 1, 1, 2},
};
lme_int32 InstallFn(lme_ref lme, lme_fn **fnarray)
{
LMECB_DbgWriteStr(".....................................");
*fnarray = fn;
return 1;
}
#include <windows.h>
#include "LME_Ext.h"
#include "kp.h"
static lme_err kp(lme_ref lme, lme_int32 nargin, lme_int32 nargout)
{
double **im;
double *ind1, *ind2;
int i, j, n;
int r, c;
double img;
r = 0;
c = 0;
lme_int32 m, l;
lme_float64 *re;
if(!LMECB_GetMatrix(1, &m, &l, &re, NULL)) return 0;
r = m;
c = l;
img = (double)*re; // image!
im = new double*[r];
for(i=0; i<r; i++)
im[i] = new double[c];
**im = img;
n=0;
for (i=0; i<r; i++){
for (j=0; j<c; j++){
if (im[i][j] != 0 ){
n++;
}
}
}
ind1 = new double[n];
ind2 = new double[n];
int k=0;
for (i=0; i<r; i++){
for (j=0; j<c; j++){
if (im[i][j] != 0 ){
ind1[k] = i;
ind2[k] = j;
k++;
}
}
}
if(!LMECB_PushMatrix(n, 1, &ind1, NULL)) return 0;
if(nargout >= 2)
if(!LMECB_PushMatrix(n, 1, &ind2, NULL)) return 0;
for(int i=0; i<r; i++){
delete [] im[i];
}
delete [] im;
delete [] ind1; delete [] ind2;
return 1;
}
static lme_fn fn[] = {
{"kp", kp, 1, 1, 1, 2},
};
lme_int32 InstallFn(lme_ref lme, lme_fn **fnarray)
{
LMECB_DbgWriteStr(".....................................");
*fnarray = fn;
return 1;
}
chalmia2s
Messages postés
31
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
15 octobre 2009
19 févr. 2009 à 16:18
19 févr. 2009 à 16:18
J'ai souvent des problemes avec les pointeurs et les tableaux...
pour affecter un tableau à un autre il me faillait faire
for (i=0; i<r; i++){
for (j=0; j<c; j++){
im[i][j] =re[i+j*r]
c bon de le savoir ...
pour affecter un tableau à un autre il me faillait faire
for (i=0; i<r; i++){
for (j=0; j<c; j++){
im[i][j] =re[i+j*r]
c bon de le savoir ...