SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: 7lopez en Sábado 27 de Marzo de 2010, 06:06
-
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
-
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...
-
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