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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 420
121  Programación / Programación C/C++ / Re: duda matriz en: 30 Mayo 2022, 18:23 pm
Tienes varios 'pequeños' errores... que incluyendo comentarios te señalo:

- Empezando por la declaración de la matriz. la declaras 'de 9, 9', pero luego la inicializas con: 0-9, 0-4

- Cuando solicitas la butaca, el limite en cambio es 0-5

- Inicializas la matriz 'asiento' (de tipo char), con valor char '0'. Que luego podría confundir... Es aceptable, si lueog eres consecuente con ello,  aunque hubiera sido preferible que se declarara como un valor numérico. Al efecto es más útil y además en conjunto sería más util declarar dos constantes (numericas): BUTACA_LIBRE = 0 y BUTACA_OCUPADA = 1

- Igualmente es aceptable que el máximo de filas y de butacas por fila fueren declaradas también como constantes... (cualquier cambio a posterior basta cambiar el valor en 1 solo sitio en todo el código, donde se declaran y asigna el valor de la constante).

- El conjunto 'si fila = letra', podrías meterlo mejor en un bloque switch (salvo que no lo hayais dado aún).

- Tu mayores errores aparecen en (y a lo largo de las siguientes líneas de código):
Código:
if (asiento[x][butaca-1]=='X'


----- Primero por restar 1 a butaca. Si (el usuario) eligió la butaca 0, estás preguntando por la butaca -1 (0-1= -1, error que te saltará por que la matriz no lo contempla). Más preocupante aún... ocupada una butaca en la matriz asientos, como preguntas por la butaca anterior podría dar libre u ocupada, pués preguntas por una  que no es la solicitada (esto es un error semántico, no habrá ningún mensaje de error, pero el resultado final es incierto), nota como la última butaca de cada fila, jamás será ocupada.

----- Segundo, si la comparación señala que la butaca está ocupada, reinvocas recursivamente la función 'reserva'... no es adecuado invocar una función recursiva sin dos preceptos: Saber que pasará con las variables, invocar innecesariamente... en tu caso al no recibir parámetros, puede parecer que carece de importancia, pero, cuando regrese de una llamada, seguirá ejecutando lo que reste de la función, por lo que sigue afectando a las variables en curso (que se declararon a nivel de módulo y no de función) y por ello, se debe estar seguro que valor mantiene al regreso de cada llamada. No he revisado que sucederá ante tales llamadas, pero es muy fácil que radique ahí lo que parece ser para tí tu error principal...

Pero básicamente porque (la llamada recursiva) es innecesaria...
Es preferible una de dos situaciónes: O bien 'reserva' es una función que devuelve un buleano (en tes caso el nombre de la función no sería el adecuado), solicitando fila y butaca e indicando si el asiento está libre (y por referencia la fila y butaca), y al regreso reinvocar la función o hacer la reserva en función dle valor devuelto... (pero en realidad para un principante esto puede complicarte la cuestión, al tener que mover código entre una función y otra, etc...)

...o bien envuelves todo el código en otro bucle while (es lo más simple en tu caso presente), he aquí en pseudocódigo la adaptación:

Código:
funcion reservar
    buleano ocupada = FALSE

    do
        si (ocupada = TRUE)
            printf("el asiento %c%d Ya esta reservado\n vuelva a ingresar su reserva\n",fila,butaca);
        fin si

        ... //todo el código previo de la función va aquí

        ocupada = (asientos[fila][butaca] == BUTACA_OCUPADA)
    while (ocupada == TRUE)

    printf("Usted eligio la fila %c numero %d\n", fila, butaca);
    asiento [x][butaca]= 'X';  // nota que se ha eliminado el '-1'
fin funcion
Estudia y entiende bien, los cambios mostrados en esta esquematización...
  
- En la función 'mostrar', esto (lo que sigue) es redundante, solo se diferencia en 'un espacio'. es preferible  alterar el dato a presentar, que la diferencia sea más notable no un mero espacio.
         
Código:
if (j<5)
printf("%c ",asiento[i][j]);
else
printf(" %c ",asiento[i][j]);
Es más sensato que la función mostrar señale fila a fila y butaca a butaca el estado del asiento: algo que se vea como (aunque usando un carácter, yo hubiera eligido como libre el carácter '-'):
 -: 123456789
 -----------------
 0: 000XX00XX
 1: XX00X0XXX
  ....

La primera línea es la numeración de cada butaca, y el primer carácter de cada fila, es la numeración de cada fila (sería aún mejor que fuera un carácter A-I, para coincidir con lo que está en uso en el ejercicio, por comodidad yo he puesto un número).

Código:
funcion mostrar
    imprimir "-: "                      
    bucle para butaca de 0 a 9    // numerar las butacas d ela fila
        imprimir butaca
    siguiente
  
    bucle para fila de 0 a 9    
        imprimir salto de línea
        imprimir fila + ": "

        bucle para butaca de 0 a 9      // imprimir si ocupada o libre
            si asiento[fila][butaca] == BUTACA_LIBRE
                imprimir "0"
            sino
                imprimir "X"
            fin si
        siguiente
    siguiente

    imprimir salto de línea
fin funcion

...y eso es todo, es tu turno.
122  Programación / Programación C/C++ / Re: Sirve aprender con pseudocodigo para el trabajo futuro? en: 30 Mayo 2022, 17:16 pm
Hola buen dia,esa es la pregunta,para el futuro laboral y real sirve ?Gracias
El pseucocódigo te ayuda a pensar, a resolver problemas, pero al final la programación es código, luego necesitarás sí o sí, conocer como mínimo un lenguaje a fondo (y preferiblemente también varios a medias, que con el tiempo se irán mejorando (si antes no desaparecen de escena, que es algo que puede ocurrir)).

Además suele ser preciso, que del pseudocódigo se pase al código... es decir: uno (el pseudocódigo) debe ser la etapa previa del siguiente, no un fin en sí mismo, salvo cuando tiene fines didácticos.
Se aplica solo en el puesto de enseñar, no en el de aprender. El que aprende, teniendo esa primera fase a mano, debe valerse de ella para acometer esa segunda fase, así consolida el aprendizaje.

Sin práctica, sin convertir el pseudocódigo a código, el que aprende, se queda a medias, pués no ve los errores en los que puede incurrir (detalles mal concebidos o mal entendidos (o sobreentendidos y que por ello no se detallan más allá de cierto punto)) al pasar el pseudocódigo a código...
123  Programación / .NET (C#, VB.NET, ASP) / Re: Saber cuántos bytes consume la RAM y el archivo exe en: 30 Mayo 2022, 17:09 pm
Esto era crítico en tiempos pretéritos, cuando la memoria estaba muy limitada.
En la medida en que la memoria ha crecido (a lo largo de los años, viendo nacer nuevos S.O.), esto es ya innecesario.

...desde que había solo disponible unos pocos kilobytes de memoria y necesitabas saber si tu 'programa' cabría en la memoria, ha llovido mucho.

En general el S.O. por tener funcionalidad para gestionar la memoria, podría totalizar tales valores, pero no tiene sentido que lo exponga al exterior. Incluso el propio S.O. no necesita totalizar lo que un programa consume en todo caso puntualmente la memoria ocupada en una llamada, etc... justamente para eso, gestionar la memoria lo más eficientemente posible.

Técnicamente un programador debe saber cuanta memoria consume su programa. Pués sabe en un momento dado cuantas variables están en uso y cuántos bytes consume cada variable. En general las variables sueltas de un programa son 'despreciables' (por que al final serán solo unas decenas o pocas centenas), lo que suele ocupar gran tamaño son los arrays, métodos recursivos (sobretodo si los parámetros no se pasan por referencia) y complejidades dependientes de herencia (objetos).
Sobre los arrays y métodos recursivos, también puede uno calcular el consumo de memoria pues sabe el tamaño de cada uno de ellos y la memoria consumida por cada variable unitaria, los objetos es ya mas complejo, pués además hay referencias ocultas para mantener enlazados los objetos y suelen ser valores desconocidos (con exactitud), por parte del programador... no obstante la experiencia, te enseña por 'aproxmación' la estimación de tales valores.

En definitiva, no es ninguna función primordial hoy día de ningún sistema de explotación en programación donde los recursos van sobrados, por ello no se implementa.

Si a pesar de todo precisas algo (no exhaustivo), investiga sobre procesos, suele aportar algo de info no precisa al respecto.

p.d.: En windows, por ejemplo debería valerte con el 'task manager'... pero verás como los valores fluctúan en el tiempo de modo instantáneo, especialmente si es un programa grande y complejo.
124  Programación / Programación General / Re: Ayuda con Java al querer modificar un .txt en: 27 Mayo 2022, 00:28 am
El parámetro 'ex' contiene los detalles de la excepción generada, es lo que debes mostrar, en vez de un estúpido y ciego "Algo salió mal."
125  Programación / Programación C/C++ / Re: examen final ayuda en: 27 Mayo 2022, 00:25 am
Olvida de momento el asunto de programación...
Y resuelve primero el asunto de forma matemática a cada cuestión planteada, paso a paso...
Pues eso mismo después es lo que tienes que hacer programando... todavía antes de programarlo, describe en prosa cada paso, así el código luego sale prácticamente solo.

Más ayuda, para un examen, no puede darse... al examen hay que llegar sabiendo o aceptar el suspenso (por no haber estudiado lo suficiente).
126  Programación / Ingeniería Inversa / Re: xdbg y software de canon en: 26 Mayo 2022, 01:01 am
Desinstala al completo el escáner... luego utliza windows para que localice los drivers, pero que utilice sólo los genericos que incorpora Moco-soft, para nada instales los que trae el fabricante.

OJO: La desistalación completa de dispositivos como escáneres e impresoras, se tiene por las más complicadas del hardware... por alguna razón (no muy clara) los fabricantes se niegan a dejarse desinstalar, y siempre dejan rastros por todo el equipo, es decir no se desinstala totalmente... De hecho al instalar, parece que no hay recoveco en el equipo donde no añadan un puñado de ficheros, en vez de limitarse a dos o 3 carpetas, las exactamente precisas.

Ten en cuenta que (no sabe uno por qué misterio insondable), las impresoras y escáneres son unos dispositivos tan 'raros' que se asocian explícitamente al puerto donde se instalan, luego si tu tienes 5 puertos USB, lo instalas en el del medio, si la próxima vez lo conectas a otro puerto, no lo reconocerá o te pedirá reinstalarlo, etc... Es decir, asegúrate de haberlo conectado exactamente al mismo puerto que lo instalaste.
127  Informática / Hardware / Re: Tarjeta Gráfica Integrada vs Tarjeta Gráfica Dedicada en: 26 Mayo 2022, 00:45 am
Si se daña la tarjeta gráfica conectada a un slot de la placa madre, se cambia por otra y listo, claro... ahí el problema radicaría en si lo dañado fuera el propio slot de conexión, que en tal caso (salvo que lo llevases a un técnico o tu mismo poseas la habilidad de cambiarlo) toca cambiar la placa base.

Si la tarjeta dañada es la que viene integrada en la placa madre, si la placa madre incorpora un slot para una tarjeta gráfica (básicamente suele ser siempre así, aunque a veces se diseñan placas muy baratas sin tal capacidad, o bien por un asunto de tamaño, casi típico de tablets y portátiles), todavía puedes añadir una tarjeta gráfica externa, pero hay que activar en la BIOS que se debe usar la tarjeta grafica externa. Si no incorporase un slot para conectar una tarjeta grafica externa, toca comprar una nueva placa madre.
128  Programación / Programación Visual Basic / Re: [SOLUCIONADO] Extraer sonidos de una DLL en: 25 Mayo 2022, 11:39 am
De entrada este hilo data del 2008... y para colmo pone 'solucionado', con lo cual es más probable que menos gente entre e intente dar una respuesta que ya se supone facilitada.

Para otra abre un nuevo tema y en todo caso proveer un enlace como referencia (por ejemplo a este tema).

Para terminar lo que pides, lo mismo que el propio título de este hilo se presta a interpretación.

En el caso que trata el tema, al parecer la dll es de su propiedad, tiene acceso a ella y conoce su contenido y se supone que puede cambiarlo cuando quiera. Es decir, parece que lo que quería era simplemente utilizar los sonidos que él mismo tendría almacenado (o accediendo, rescatando desde la propia dll) a recursos de sonido.

En tu caso parece que tratas (a interpretación mía), de exportar recursos de sonido que contiene una dll, de la que no tienes nada más que el propio fichero (porque por ejemplo pertenezca a un juego). Esto puede ser algo muy simple, o extremadamente complejo.

...pero si simplemente tratas de ejecutar un sonido que tienes lamacenado como recurso en una dll, o desde un fichero, es básicamente lo mismo que acceder a  cualquier otro recurso de VB6, solo que en tal caso se trataría de un 'custom resource', por lo que hay que tratarlo de forma binaria... típicamente la función API PlaySound, puede recibir incluso los datos del sonido en formato de string, pués al pasar el dato por referencia simplemente está recibiendo el puntero...

Como no tengo nada claro que es con exactitud lo que quieres, aquí lo dejo. Si te expresas con más claridad, se te podrá orientar más acertadamente.
129  Media / Multimedia / Re: ¿Puede Youtube recomendarme solo videos que no vi? en: 25 Mayo 2022, 10:59 am
Cuando borras la cachés de temporales (de tu navegador), lo razanable es que se pierda el historial de lo visitado-visto. Igualmente aunque no lo borres hay un tamaño máximo para usar, luego una vez el tamaño asignado se agote (o periódicamente), se borrará lo más antiguo...

Ignoro si Youtube, guarda internamente en sus bases de datos junto al usuario los enlaces que haya visto (es más que probable, pues vive precisamente de eso de trazar y cruzar datos). ...en cuyo caso sin embargo, no se puede evitar que te muestre el mismo vídeo, pero con enlace distinto.

Por otro lado, no veo que youtube tenga ninguna opción, para 'pedirle' que te muestre contenido que nunca antes hayas visto... es básicamente asumir que uno jamás va a querer por segunda vez (o más) volver a ver un mismo vídeo.

En vez de dejar el cursor al medio una vez terminado de visionar el vídeo, sería preferible que lo dejes bien cerca dle final... si no puede que no recuerdes si lo terminaste de ver, o te quedaste a medias (alguna vez te pasará que solo lo viste a medias y entonces no sabrás distinguir el caso).
130  Seguridad Informática / Seguridad / Re: Ver qué ordenadores se han conectado a un disco duro externo. en: 22 Mayo 2022, 19:26 pm
Imposible no es...

En el "registro de windows" queda patente cada dispositivo conectado... luego basta verificar cuál corresponde a tu unidad y buscar en todos los equios de la empresa en cuál de ellos aparece también (dudo mucho que hayan borrado dicho rastro).

Ahora bien, la dificultad estriba en si tienes o no acceso al resto de equipos de la empresa y lógicamente con las restricciones:
- Suponiendo que alguien no se haya traído de casa (por ejemplo) su propio portátil.
- Suponiendo que no lo has dejado varios días, tal que alguien haya podidio tomarlo, llevarlo a su casa y examinarlo así cómodamente y luego volverlo a llevar y conectarlo de nuevo en tu equipo)...
- Suponiendo que no se usen equipo con otros S.O. o directamente tirando de Live CD.

En los dos primeros casos, porque no tendrías acceso a los equipos, y el el último, porque no se escribirá nada en el 'registro de windows'.

Al menos has 'aprendido' una lección... se espera.

Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 420
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines