• Jueves 18 de Abril de 2024, 18:51

Autor Tema:  ERROR: how can you a vapor heap? at "lmem.c", line 1014  (Leído 1313 veces)

7lopez

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
ERROR: how can you a vapor heap? at "lmem.c", line 1014
« en: Sábado 27 de Marzo de 2010, 06:06 »
0
hola, soy nuevo en el foro. bueno la verdad necesito mucha ayuda. tengo un codigo en c++ y cuando lo compilo no me arroja nungun error o advertencia, pero cuando lo corro me arroja el siguiente error:  how can you a vapor heap? at "lmem.c", line 1014

lo curioso es que lo vuelvo a compilar y a correr y funciona de maravilla. pero cada ves que lo abro tengo que compilar y correr dos veces. y eso no se ve bien

espero me puedan ayudar. de antemano gracias

rfog

  • Miembro MUY activo
  • ***
  • Mensajes: 166
    • Ver Perfil
Re: ERROR: how can you a vapor heap? at "lmem.c", line 1014
« Respuesta #1 en: Lunes 29 de Marzo de 2010, 10:45 »
0
Eso no tiene sentido, ni el error que te da ni lo de que tengas que ejecutarlo dos veces. O más bien sí: hay algo esencialmente mal en ese programa, pero muy mal. Como no nos pongas código y demás, las bolas de cristal están caras y estamos en crisis, además, yo siempre que miro dentro de una lo veo todo distorsionado...
Microsoft Visual C++ MVP - Mi blog sobre programación: http://geeks.ms/blogs/rfog

7lopez

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: ERROR: how can you a vapor heap? at "lmem.c", line 1014
« Respuesta #2 en: Lunes 29 de Marzo de 2010, 20:31 »
0
bueno aquie esta mi codigo, basicamente es que tengo una base de datos en un TXT y quiero cargarla a una matriz.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

FILE *puntero;
FILE *pf;
char cad[150];
int error;
int longitud;
char matriz [2000][2000];
int renglon,columna,contador=0,tamano;
float BD[3000][3000];
float Patent[3000][3000];
int NumClases,Caracteristicas;
int validacion=0;
int clases [50];

void main (){

puntero=fopen("Basedatos.txt","r");          //abrir la BD

if(puntero==NULL)                         // verificar que exista la BD
   printf("Error al abrir el fichero");   // Imprimir el error

else{                                     //si la BD existe entonces se ejecuta lo demas

   for(int i=0; i<10000; i++){            //ciclo para leer todos los renglones de la BD
      error=feof(puntero);                //error: verifica que ya llegamos al final del documento

      if(error==0){                       //si error=0, no hemos llegado al final del documento

         fgets(cad,150,puntero);                //  leer cadena x cadena de la BD
         longitud=strlen(cad);                  //obtener la longitud de la cadena leida

         for (int i=0; i<longitud; i++){          //cilo para dividir la cadena obtenida

            if(cad==32){                     //verifico que el caracter que estoy trabajando sea un espacio
               columna=0;                         //Inicializo columna en cero
            }

            else{
               while(i<longitud){

                  if(cad!=32){                     //verifico que el caracter que trabajo no sea un espacio
                     matriz[renglon][columna]=cad;    //asigno en caracter en una nueva cadena (caracteristica X caracteristica)
                     columna++;
                     i++;
                  }

                  else{
                     renglon++;
                     columna=0;
                     break;
                  }
               }
            }
         }

         if(contador==0 && validacion==0){
            validacion++;

            for(int j=0; j<renglon; j++){

               if(j==0){
                  NumClases=atoi(matriz[j]);
               }

               else{
                  Caracteristicas=atoi(matriz[j]);

               }
            }
         }

         else if(contador==1 && validacion ==1){
            validacion++;

            for(int y=0; y<NumClases; y++){
               clases [y]=atoi(matriz[y]);
               contador=0;
            }
         }

         else{

         for(int j=0; j<=renglon; j++){

               BD[contador][j]=atof(matriz[j]);
               tamano=renglon;
               }

         }

      contador++;
      renglon=0;

      }


      else{
         break;
      }


   }
}

fclose(puntero);



         /*IMPRIMIR LA BD EN TXT*/

////////////////////////////////////////////////////////////////////////////////

pf=fopen("datos.txt","a");

for(int m=1; m<contador; m++){

   for(int n=0; n<=tamano; n++){            //imprimir BD completa en txt
      fprintf(pf,"     %.3f",BD[m][n]);

   }
   fprintf(pf,"n");
}
fclose(pf);

////////////////////////////////////////////////////////////////////////////////

            /*IMPRIMIR LA BD EN PANTALLA*/

/******************************************************************************/

for(int m=1; m<contador; m++){

   for(int n=0; n<=tamano; n++){            //imprimir BD completa
      printf("     %.3f",BD[m][n]);

   }
   printf("n");
}

/******************************************************************************/

            /*IMPRIMIR UN REGISTRO DE LA BD*/

////////////////////////////////////////////////////////////////////////////////

for(int n=0; n<=tamano; n++){              //imprimir un patron de la BD
      printf("     %.3f",BD[546][n]);
}

////////////////////////////////////////////////////////////////////////////////

            /*IMPRIMIR LA CABECERA DE LA BD*/

////////////////////////////////////////////////////////////////////////////////

printf("nnel numero de clases en la BD es: %dnnEL numero caracteristicas de cada atributo son:  %dnn ",NumClases,Caracteristicas);

for(int z=0; z<NumClases; z++){
   z++;
   printf("nla clase %d tiene: ",z);
   z--;
   printf(" %d elementos",clases[z]);
}
////////////////////////////////////////////////////////////////////////////////



getch ();
}



ESpero le entiendan, trate de comentarlo. saludosss