elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 161
361  Programación / Programación C/C++ / Re: Ayuda con recursividad en: 2 Septiembre 2018, 17:50 pm
Y si el ejercicio se hace con una pila en vez de una lista se hace casi todo de forma automática.
362  Programación / Programación C/C++ / Re: Ayuda con recursividad en: 2 Septiembre 2018, 00:59 am
Directamente no se puede hacer: tlista solo tiene un miembro que apunta a un pnodo, por tanto desde un tlista pasado como argumento no se puede ir al siguiente. Se me ocurre que con algo de trabajo y variables static podría ser, pero es hacer un código muy feo.

Lo mejor sería hacer algo así:
Código
  1. static int sumar_interno(pnodo nodo) {
  2.    if(!nodo)
  3.        return 0;
  4.    else
  5.        return nodo->dato + sumar_interno(nodo->sig);
  6. }
  7.  
  8. int sumar(tlista *lista) {
  9.    if(!lista)
  10.        return 0;
  11.    else
  12.        return sumar_interno(lista->inicio);
  13. }

Esto haría que la interfaz fuera sumar, pero ésta llamaría a sumar_interno quien haría realmente todo el trabajo; y esta sí puede iterar sobre sí misma pues un pnodo sí forma realmente la lista.
363  Programación / Programación C/C++ / Re: Ayuda con listas sinples en: 1 Septiembre 2018, 13:41 pm
Eso era en tu primer código. Líneas 43 y 44:
Código:
case 2: crear(nuevonodo); if(nuevonodo!=NULL){agregar_inicio(milista,nuevonodo);}; break;
case 3: crear(nuevonodo); if(nuevonodo!=NULL){agregar_inicio(milista,nuevonodo);}; break;
En los dos cases añadías al inicio.
364  Programación / Programación C/C++ / Re: Ayuda con listas sinples en: 31 Agosto 2018, 20:46 pm
¿Por qué buscar_nodo solo devuelve si lo ha encontrado o no? Mejor si devolviera el puntero al nodo, en caso de existir, o NULL (nullptr) en caso de no encontrarlo. Saber si existe o no no tiene utilidad. Sí tiene utilidad el devolver el dato pues, normalmente, suele llevar más datos que el que ha sido objeto de búsqueda.

Por otra parte ¿qué no entiendes? Explicar todo el código cómo que es un poco largo.
365  Programación / Programación C/C++ / Re: Tres pumtos en header de funciones. en: 31 Agosto 2018, 08:50 am
Eso se llama guarda.
En ese momento aún no ha entrado en marcha el compilador, es el preprocesador quién está haciendo su trabajo para darle el código al compilador en la siguiente fase.

Para entender qué ocurre deben saberse unas cuantas cosas antes:
Un símbolo sólo se puede declarar una única vez.
Para poder usar objetos y funciones el compilador debe conocer su tamaño con anterioridad. Las librerías son objetos y funciones genéricos que se pueden usar en multitud de programas diferentes.
Para eso existen los archivos de cabecera: declaran esos símbolos para que el compilador sepa usarlos.
Una librería puede depender de otra, por lo tanto incluirá esa cabezera y si incluyeras las dos librerías en tu código tendrías el error de haber declarado dos veces el mismo símbolo.

Bien para solucionar eso están las guardas del preprocesador, que simplemente es mirar si existe un símbolo. Sí éste existe no hacer nada, pero si no existe se hace todo el trabajo necesario.
Con el
Código:
#ifndef LIBUSBI_H
El preprocesado mira si el símbolo LIBUSBI_H ha sido definido con anterioridad.
Si está definido el preprocesador saltará hasta #endif.
Si no está definido lo primero que se hace es definirlo (poner la guarda para evitar que se repita la definición)
Código:
#define LIBUSBI_H
Y a partir de aquí todo el código para declarar objetos y funciones.


366  Programación / Programación C/C++ / Re: Editar fichero win32 en: 30 Agosto 2018, 21:58 pm
En API Windows ni idea.
Pero la idea sería que volvieras atrás el puntero del archivo tantos bytes como leíste, grabas  tantos bytes como leíste y continuas con la siguiente escritura.

Un fseek si se usara la biblioteca estándar.
367  Programación / Programación C/C++ / Re: Error que no me deja compilar archivo en c++/sqlite3 en: 28 Agosto 2018, 23:59 pm
Te está preguntando por main.
368  Programación / Programación C/C++ / Re: AYUDA con ficheros lenguaje c en: 27 Agosto 2018, 17:11 pm
Ya viene en el código. Pero falta controlar el error del archivo no abierto en las funciones auxiliares.
369  Programación / Programación C/C++ / Re: AYUDA con ficheros lenguaje c en: 27 Agosto 2018, 12:24 pm
Fíjate en el while. Por otra parte hay modificaciones menores para evitar buffer overflow.

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void archivar(char *texto);
  5. void limpiar(void);
  6.  
  7. int main() {
  8.    FILE *archivo;
  9.    char palabra[20];
  10.    char modifica[20];
  11.    char texto[20];
  12.  
  13.    limpiar();
  14.    printf("Ingrese la palabra que va a cambiar en el fichero 'Texto': ");
  15.    scanf("%19s", palabra);
  16.    while(getchar()!='\n');
  17.    printf("¿Por que palabra la va a cambiar?: ");
  18.    scanf("%19s", modifica);
  19.    while(getchar()!='\n');
  20.  
  21.    archivo = fopen("Texto.txt", "r+");
  22.  
  23.    if(!archivo) {
  24.        printf("\nNO SE ENCONTRO EL ARCHIVO Texto.txt.\n\n");
  25.    }
  26.    else {
  27.        fscanf(archivo, "%19s", texto);
  28.        while(!feof(archivo)) {
  29.            if(strcmp(texto, palabra)==0) {
  30.                strcpy(texto, modifica);
  31.            }
  32.            archivar(texto);
  33.            fscanf(archivo, "%19s", texto);
  34.        }
  35.        fclose(archivo);
  36.    }
  37.    printf("Pulse INTRO para salir...");
  38.    getchar();
  39. }
  40.  
  41. void archivar(char *texto) {
  42.    FILE *archivo;
  43.    archivo = fopen("Modificado.txt", "a");
  44.    fprintf(archivo, "%s ", texto);
  45.    fclose(archivo);
  46. }
  47.  
  48. void limpiar(void) {
  49.    FILE *archivo;
  50.    archivo = fopen("Modificado.txt", "w+");
  51.    fclose(archivo);
  52. }
370  Programación / Programación C/C++ / Re: Proyecto final C++ en: 23 Agosto 2018, 21:27 pm
Hombre, es un proyecto final. Pasar de C a C++ debería ser lo más sencillo.

Por cierto: de nada.

P.D.: se quedó un error en el código de cuándo hacía comprobaciones. La primera versión que subí no cumple con las especificaciones del enunciado. Ya está arreglado.
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines