Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - amchacon

#461
Tengo un problemilla muy extraño en un constructor, dado una estructura tal que así:

Código (cpp) [Seleccionar]
struct Nodo
{
    Nodo* Letra[26];
    int ocupados = 0;
    char Caracter;

    Nodo(char caracter = 0) : Caracter(caracter) { for (int i = 0; i < 26;i++} Letra[i] = NULL;}

    ~Nodo(){for (int i = 0; i < 26;i++) if (otro.Letra[i] != NULL) delete Letra[i]; }
};


Me salta un error de compilación en el constructor, dice que "Letra" no existe. Lo cual no tiene sentido *_*
#462
Código (cpp) [Seleccionar]
if (this != NULL)

Esa condición siempre va a ser cierta xD. Creo que te referias a this.matr, supongo que de ahí viene el error de segmentación (borrar cuando ni siquiera tienes matriz).

Por cierto no me parece adecuado que copypastees el destructor ahí, yo me haría una función privada "borrar". Y esa función la llamo desde el destructor y desde allí, por reciclar código más que nada.
#463
Programación C/C++ / Re: PREOGRAMACION
14 Diciembre 2013, 07:05 AM
¿No sabes sacar la media aritmetica?

Intentalo hombre, que mucho os plantaís sin nisiquiera hacer una línea de código.
#464
Código (cpp) [Seleccionar]
Matriz::~Matriz()
{
delete matr;
}

Eso está mal hecho, tienes que borrar al contrario que como la creas (primero con un for borras todos los vectores y despues borras el puntero principal).

Código (cpp) [Seleccionar]
Matriz::~Matriz()
{
for (int i = 0; i < nfilas;i++) delete[] matr[i];
delete[] matr;
}
#465
Cita de: cheztermx en 12 Diciembre 2013, 22:57 PMOJO, EL PROFESOR DICE QUE TIENE QUE SER CON Dev-c++
Y guardarlo en .C (esto por que algunos programan mas avanzado).
El código es el mismo independientemente de la herramienta que uses.

De todas formas, me llama la atención que el tío te pida que uses un IDE de hace 10 AÑOS. ¿Esta gente no se actualiza o que?

PD: No te vamos a hacer la tarea desde cero.
#466
Programación C/C++ / Re: Ayuda con mi compilador.
12 Diciembre 2013, 02:02 AM
¿Devcpp? Olvidate del tutorial que estes siguiendo por favor xD

Te recomiendo estos otros:
http://minidosis.org/C++/
#467
Programación C/C++ / Re: Diseño de Ensamblador
12 Diciembre 2013, 00:30 AM
Pero si has puesto tú mismo la explicación:
linea = (char*)malloc((lon+1)*sizeof(char));//lon mas el caracter '\0'

¿?
#468
Programación C/C++ / Re: Diseño de Ensamblador
11 Diciembre 2013, 11:43 AM
Ah usas C, creía que usabas C++. Entonces no he hecho más que confudirte  :silbar:

En C lo haría tal que así:

FILE* archivo = fopen("PLASM.txt","r");

fseek(archivo,0,SEEK_END);
long tamanyo = ftell(archivo);
fseek(archivo,0,SEEK_SET);

char* cadena = malloc(tamanyo);
fread (cadena,tamanyo,1,archivo);
fclose(archivo);


El método que tú dices es rizar el rizo, y tampoco es eficiente ni nada. Quizás lo más cómodo para ti sea la primera opción:

FILE* archivo = fopen("PLASM.txt","r");
char cadena[256];

while (!feof(archivo))
{
     fgets(cadena,255,archivo); // lee una línea del archivo, máximo a leer 255 caracteres

    // haz lo que quieras con esta linea

}

fclose(archivo);
#469
Cita de: dato000 en 10 Diciembre 2013, 20:53 PM
gracias por sus respuestas gente, todavia no me he metido con reserva dinamica de memoria, pero muy valiosa la info que me dejaste.

Ya que uds saben, entonces el mejor para leer entradas de teclado seria fgets?? o fscanf??? ambas me parecen buenas opciones, pero quisiera saber opiniones expertas.
fgets para cadenas de texto y scanf para todo lo demás.

PD: Sí, scanf sin f.
#470
fscanf? Quería decir fgets, con tanto scanf se me fue la pinza :silbar:

Cita de: dato000 en 10 Diciembre 2013, 16:49 PMUna ultima cosa más, implementando tu solución encontre lo siguiente

1. En la estructura, debo seguir apuntando a un arreglo:


struct dato
{
  char* mes[300];
  struct fecha* r;
}t ;


Y para leer un máximo de caracteres con scanf como en el ejemplo que dejaste mes[300]


scanf("%300s", nuevoDato.mes);


La verdad estoy más acostumbrado a usar scanf  :xD :xD
Pues no la conocía, pero si te funciona puede sustituir al fgets.

Cita de: dato000 en 10 Diciembre 2013, 16:49 PMOtra cosa sobre el fscanf es que, intente usarlo con demás variables, pero solo me funciona con archivos presentes, como puedo leer una de las otras variables de las estructuras??
Como te dije, creía que había puesto fgets. fscanf sería:

fscanf(stdin,"%d",&valor); // recordemos que stdin es el fichero del teclado

Pero para eso usas scanf y escribes menos.