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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 ... 102
581  Programación / Programación C/C++ / Re: Como almacenar datos especificos de un archivo a una cariable en: 12 Junio 2019, 23:20 pm
Recorre por palabras y usa algún criterio para reconocer la palabra que quieres. Pongamos que quieres recoger el número del final de cada línea, puedes leer por palabras o leer toda la línea y separar por palabras (hay funciones para ello) y comprobar si es un número (porque es el único número de la línea) y si lo es, lo guardas.
No sé si hablas de C o de C++, si quieres más ayuda pon tu código para ayudarte mejor. :-X
582  Programación / Programación C/C++ / Re: Derivada en C en: 12 Junio 2019, 04:57 am
No puedes crear arrays de tamaño <x> cuando <x> contiene basura porque no ha sido inicializado...
583  Programación / Programación C/C++ / Re: Ayuda FOR en: 12 Junio 2019, 04:56 am
No sé si te obligan a usar un <for> y <scanf()> pero no es recomendable usar <scanf()> para esto. Lo suyo sería guardar toda la palabra de una sola vez con <fgets()> y después recorrer la palabra sumando las vocales.

Aparte, esa implementación es un poco ineficiente. Te recomendaría cosas como:
  • Convertir el caracter a minúscula/mayúscula siempre.
  • Unificar los case.
Código
  1. switch(tolower(clave[i])){
  2.    case 'a': case 'e': case 'i': case 'o': case 'u':
  3.        vocales++;
  4.        break;
  5. }
584  Programación / Programación C/C++ / Re: Ayuda FOR en: 12 Junio 2019, 04:23 am
Es porque los ENTER se están quedando en el buffer y entonces se asignan al siguiente valor.
Pongamos que quieres introducir la palabra "hola", lo que estás guardando es: "h" + ENTER + "o" + ENTER + "l" + ENTER + "a"
585  Programación / Programación C/C++ / Re: Problema con funcion palindroma en forma recursiva en: 12 Junio 2019, 04:07 am
Tu problema no está en la función sino en los parámetros... :silbar:
El segundo parámetro es un <unsigned> por lo que no puede tomar valores negativos, entonces cuando el número de caracteres es par funciona correctamente porque termina con <longitud = 0> pero cuando el número de caracteres es impar como es tu caso, el último caso sería <longitud = -1> pero al ser <unsigned> no permite el valor de -1 para la longitud y por eso tienes un problema de acceso en memoria.
586  Programación / Programación C/C++ / Re: Manejo de strings enormes y caracteres? en: 11 Junio 2019, 00:28 am
No tengo ningún problema con ese código. Lo he probado primero con una versión muy simple (simplemente el <getline()> y el <cin>) y funciona bien así que después he probado tu código y dejando al margen unos caracteres extraños (decir que estoy en Linux) no he tenido ningún problema de que se salte el <cin>.
Prueba a cerrar el proyecto y volver a abrirlo, puede que sea un problema de eso. Sino no sé qué puede ser... :-X
587  Programación / Programación C/C++ / Re: Como detecto el tipo de dato introducido en la llamada de una funcion? en: 8 Junio 2019, 23:52 pm
No sé muy bien lo que pretendes la verdad. Quiero decir no lo entiendo... Si el array es de tipo <int> aunque tú pongas 'a', internamente te estará guardando un <int>, es decir, 97 en este caso. Pero bueno, para que haga lo que tú quieres creo que podrías sobrecargar la función con ambos tipos <char/int> o pasar un string y comprobar si ese string es numérico o alfabético.
Hay un par de funciones de la librería <cctype> muy útiles para esto último que te he comentado que son <isalpha()> e <isnum()>.

Yo personalmente no veo muy recomendable usar <auto> para un parámetro porque entonces estás permitiendo pasar cualquier cosa. Por eso el tema de buscar un tipo de variable común <string> o hacer una sobrecarga para los casos que quieras permitir.

Otra opción que veo ahora sería usar un <template> pero para esto sería recomendable aplicárselo tanto al array como al parámetro a buscar.

No sé si te servirá alguna de las opciones pero nunca me ha dado por probar este tipo de "curiosidades". :-X
588  Programación / Programación C/C++ / Re: [C] Tratando de crear array de strings en: 8 Junio 2019, 23:35 pm
Es posible que esa segunda línea sea el contenido de alguno de los ficheros.
He de decir que no sé cómo funciona la siguiente instrucción por lo que doy por hecho que su funcionamiento es correcto:
Código
  1. hd_read(start_of_root, FAT32_FILES_PER_DIRECTORY * sizeof(struct DirectoryEntry), (uint8_t*)&drce[0]);

Tampoco sé si la salida que obtienes es a partir de los <printf()> y <kputs()> que se ven en la función o la obtienes mostrando después el contenido de <files_names_in_dir>.
Además la variable <aaa> la has declarado globalmente por lo que puede que estés modificando su valor en otro punto del programa o estés llamando más de una vez a esa función.
Y si de paso puedo conocer la estructura de directorios y ficheros con los que estás trabajando, es decir, su nombre. Y que compruebes que esa segunda salida no sea el contenido de alguno de los ficheros.

Lo siento pero es que hay demasiadas cosas que me estoy teniendo que imaginar...
589  Programación / Programación C/C++ / Re: [C] Tratando de crear array de strings en: 8 Junio 2019, 23:00 pm
La nueva variable <aaa> (que espero que le pongas un nombre mejor :xD) controla sólo <files_names_in_dir>. Es decir que tendría que ser:
Código
  1. file_names_in_dir[aaa] = drce[i].file_name;
  2. ++aaa;

De todas formas, por si el error no es sólo ese y no consigues solucionarlo, para la próxima pon la salida que obtienes literalmente para que veamos mejor a qué se puede deber.
Yo quitaría los <continue> de todas formas y los <break> como ya te he comentado... :silbar:
590  Programación / Programación C/C++ / Re: [C] Tratando de crear array de strings en: 8 Junio 2019, 22:06 pm
Diría que el error son los <continue>...
Piensa en una iteración <i = 0> y se cumple una condición y por tanto un <continue>. Ahora <i = 1> pero no se han ejecutado las líneas siguientes al <continue> en esa iteración por lo que no se ha ejecutado la línea 28.
Ahora no se ejecuta ningún <continue> (recordemos i = 1). Estás guardando <drce[1].file_name> pero lo estás guardando en <files_names_in_dir[1]>... Qué hay en <files_names_in_dir[0]>??? Basura.

Tienes que usar una variable auxiliar que sólo se incremente si se ejecuta la línea 28 para guardar siempre en posiciones consecutivas.

Por algo no se recomiendan usar ese tipo de sentencias <continue>, <break>, etc. Yo cambiaría eso e implementaría el mismo comportamiento con un <bool> o <int> si no quieres usar <bool>, pero vamos, evitando sentencias de salto.
Páginas: 1 ... 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 ... 102
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines