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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ... 102
431  Programación / Programación C/C++ / Re: Ayuda por favor en: 10 Enero 2020, 23:43 pm
Como te han dicho, si lo que quieres es obtener una equivalencia entre las letras y sus respectivos códigos ASCII, puedes hacer un casting entre int y char para obtener los códigos ASCII a partir de las letras o viceversa.
Si lo que quieres es asignar unos valores numéricos diferentes a cada letra, te recomiendo usar el contenedor Map de la STL: http://www.cplusplus.com/reference/map/map/
Puedes buscar ejemplos de uso en internet, seguro que encuentras códigos que te pueden servir de ayuda.
432  Programación / Programación C/C++ / Re: crear matriz recursiva en: 9 Enero 2020, 21:02 pm
Supongo que cuando dices crear es inicializar no?

Si no sé a qué hace referencia cada parámetro de la función pues la cosa está un poco complicada. Aunque por lo que dices supongo que uno es la matriz, otro el orden y otro es la variación para la recursividad. Con esa idea, la función quedaría prácticamente igual a la que puse anteriormente:
Código
  1. void f(float matriz[][SIZE], int orden, int fila){
  2.  if(fila < orden){
  3.    f(matriz, orden, fila+1);
  4.    for(int i = 0; i < orden; ++i)
  5.      matriz[fila][i] = fila; // el valor lo he puesto como ejemplo
  6.  }
  7. }

La función tendrías que llamarla inicialmente como:
Código
  1. f(matriz, orden, 0);
433  Programación / Programación C/C++ / Re: crear matriz recursiva en: 7 Enero 2020, 04:52 am
Creo que dejas varias dudas en tu mensaje.
Normalmente una matriz es bidimensional (con n filas y m columnas) pero cuando la matriz es cuadrada, en vez de decir que tiene n filas y n columnas (o como se denota normalmente: nxn), se dice que es de orden n.
Ahora bien, en tu caso no estoy seguro de que el parámetro n se refiera a la dimensión o al orden.

Es mejor que pongas un ejemplo concreto, como por ejemplo (predicando con el ejemplo :xD):
"Necesito implementar una función que reciba como parámetro el orden de la matriz <crearMatrizRecursiva(int orden)> y genere una matriz de 2 dimensiones y de tamaño (orden x orden)"

Para ese supuesto que he puesto primero imagina cómo lo harías de manera iterativa:
(No sé en que lenguaje lo necesitas así que haré el ejemplo en C++... Hay que procurar ser lo más concreto posible cuando se solicita ayuda)
Código
  1. int** generarMatriz(int orden){
  2.    int **matriz = new int* [orden];
  3.    for(size_t i = 0; i < orden; ++i)
  4.        matriz[i] = new int [orden];
  5.    return matriz;
  6. }

La recursividad normalmente lo que hace es eliminar un bloque iterativo y convertirlo en una sentencia condicional. Además alguno de los parámetros tiene que ir cambiando para en algún momento llegar al caso base que es el que termina con las llamadas recursivas.
Como en la función anterior sólo tenemos un bloque iterativo, será la parte que implementaremos de manera recursiva. Existen diferentes formas de hacerlo, una de ellas es esta:
Código
  1. int** generarMatriz(int orden){
  2.    int **matriz = new int* [orden];
  3.    generarMatrizRecursiva(matriz, orden-1, orden);
  4.    return matriz;
  5. }
  6.  
  7. void generarMatrizRecursiva(int **matriz, int filaActual, int orden){
  8.    if(filaActual >= 0){
  9.        matriz[filaActual] = new int [orden];
  10.        generarMatrizRecursiva(matriz, filaActual-1, orden);
  11.    }
  12. }

Esta versión es muy simple pero creo que es la mejor para que entiendas cómo funciona la recursividad. Si quieres añadirle un poco más de gracia, te recomiendo cambiar el orden de las instrucciones y comprobar si puedes explicar su funcionamiento ahora. Pero eso ya es cosa tuya... :rolleyes:
Código
  1. void generarMatrizRecursiva(int **matriz, int filaActual, int orden){
  2.    if(filaActual >= 0){
  3.        generarMatrizRecursiva(matriz, filaActual-1, orden);
  4.        matriz[filaActual] = new int [orden];
  5.    }
  6. }

Y no olvides liberar toda esa memoria antes de terminar el programa... :silbar:

PD: No te acostumbres a recibir los ejercicios hechos. Esta ha sido una excepción por la Navidad   :-X
434  Programación / Programación C/C++ / Re: ¿Por que se imprime el arreglo al revez? [C] en: 6 Enero 2020, 03:04 am
Eso es porque primero tienes la llamada recursiva y después la instrucción de mostrar.

Lo que hace tu programa es:
Código:
Llamar a mostrar desde la posicion 0
  Llamar a mostrar desde la posicion 1
    Llamar a mostrar desde la posicion 2
      Llamar a mostrar desde la posicion 3
        //...
          Llamar a mostrar desde la posicion SIZE-1
          // AQUI ACABA LA RECURSIVIDAD Y AHORA EMPIEZA A MOSTRAR DESDE DENTRO HACIA FUERA
          Mostrar la posicion SIZE-1
        //...
      Mostrar la posicion 3
    Mostrar la posicion 2
  Mostrar la posicion 1
Mostrar la posicion 0

Lo único que tienes que hacer es cambiar el orden de las dos instrucciones haciendo que primero muestre y después se llame de nuevo. Así el esquema sería:
Código:
Llamar a mostrar desde la posicion 0
  Mostrar la posicion 0
  Llamar a mostrar desde la posicion 1
    Mostrar la posicion 1
    Llamar a mostrar desde la posicion 2
    //...
      Mostrar la posicion SIZE-2
      Llamar a mostrar desde la posicion SIZE-1
        Mostrar la posicion SIZE-1
        FIN // Si hubiese mas instrucciones despues de la llamada recursiva se harian aqui
      FIN // Si hubiese mas instrucciones despues de la llamada recursiva se harian aqui
    //...
  FIN // Si hubiese mas instrucciones despues de la llamada recursiva se harian aqui
FIN // Si hubiese mas instrucciones despues de la llamada recursiva se harian aqui

Al final lo importante en esto es entender cómo funciona la recursividad, más que conseguir el resultado esperado a prueba y error.
435  Media / Multimedia / Re: Problema para reproducir vídeos de disco duro en tv en: 13 Diciembre 2019, 20:51 pm
Buenas.

Me alegra que hayas podido hallar con la solución a tu problema.
Entonces es del disco duro? Perdón por insistir, pero me gustaría saber el porqué. Si alguien tiene claro el porqué estaría bien saberlo, me ha dejado un poco descolocado jaja.

Puede ser que sea el tipo de formato del disco duro?

Un saludo.
Ambos discos son FUSE. La verdad es que no sé cuál puede ser el motivo.
Me dio por hacer la prueba porque vi que el disco de 4TB no lo reconocía mi otro tv, mientras que el de 1TB sí; pero como digo, no puedo explicar el porqué.
436  Media / Multimedia / Re: Problema para reproducir vídeos de disco duro en tv en: 11 Diciembre 2019, 00:18 am
Ya he conseguido solucionar el problema. :rolleyes: :rolleyes:
Como ya lo había probado todo y nada funcionaba, probé y conectar el disco duro a otra tv y vi que está ni siquiera reconocía el disco duro por lo que pasé los vídeos de ese disco duro (de 4 TB) a otro (de 1 TB) y ahora ya puedo ver todos los vídeos sin problemas.
Al final resulta que no era problema de los códecs ni las tasas ni nada de eso pero bueno, me ha servido para aprender un poco sobre el tema.

Muchas gracias a los que habéis colaborado.
437  Media / Multimedia / Re: Problema para reproducir vídeos de disco duro en tv en: 8 Diciembre 2019, 23:59 pm
Bueno, estos videos no son H.264, son Xvid. ¿Dices que ambos videos usan el mismo codec y solo uno de ellos se reproduce en la tele? ¿También dices que ambos videos usan 23.976 FPS?
En un principio el problema me surgió con un vídeo en formato *.mkv que usaba H.264 y pensaba que en ello recaía el problema.
PD: He localizado otro vídeo con todas las propiedades iguales al segundo de los expuestos arriba y que sí se ve... Ahora ya no tengo ni la menor idea de a qué puede deberse.
Sin embargo, estos dos últimos vídeos de los que hablo son Xvid, sí y ambos usan el mismo códec y ambos a 23.976 fps. Y en efecto, uno de ellos se puede reproducir y el otro no.
Me he asegurado también de que ambos se pueden reproducir en el ordenador y así es, ambos se reproducen.
438  Media / Multimedia / Re: Problema para reproducir vídeos de disco duro en tv en: 8 Diciembre 2019, 22:49 pm
Lo único que me llama la atención aquí es que dices que vienen en el formato mp4 pero ahí dice que tienen formato avi. Prueba a renombrar la extensión de los dos archivos a ver si al cambiar a .avi funciona (quizás el demuxer de la tele no sea tan inteligente para identificar que es avi).

Por otro lado puede ser que esa herramienta que estés utilizando para obtener la información del video está mal. ¿Porque no usas MediaInfo?
Fallo mío lo de mp4 :-X Me estaba refiriendo a dos vídeos en formato avi pero he escrito mp4 sin darme cuenta. Será del lío que tengo ya entre formatos y códecs.
He probado a usar MediaInfo y los resultados para ambos vídeos son totalmente idénticos. He comprobado hasta el último número y no he encontrado ninguna diferencia ni en las propiedades de vídeo ni en las de audio.
Código:
Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Simple@L3
Format settings, BVOP                    : No
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Codec ID                                 : XVID
Codec ID/Hint                            : XviD
Duration                                 : 42 min 56 s
Bit rate                                 : 1 500 kb/s
Width                                    : 720 pixels
Height                                   : 404 pixels
Display aspect ratio                     : 16:9
Original display aspect ratio            : 16:9
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.215
Stream size                              : 461 MiB (91%)
Writing library                          : Lavc56.60.100

Audio
ID                                       : 1
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Format settings                          : Joint stereo / MS Stereo
Codec ID                                 : 55
Codec ID/Hint                            : MP3
Duration                                 : 42 min 56 s
Bit rate mode                            : Constant
Bit rate                                 : 128 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 44.1 kHz
Compression mode                         : Lossy
Stream size                              : 39.3 MiB (8%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 26  ms (0.63 video frame)
Interleave, preload duration             : 522  ms
Esas son las propiedades que muestra MediaInfo. La única diferencia entre un vídeo y otro son 2 segundos de diferencia en la duración del audio (lo cuál me parece irrelevante pero lo digo por si las moscas).

Hola, YdreX-DwX.

Justo ahora acabo de encontrarme con el tema que has creado, y, antes de sugerir nada, quisiera preguntarte que programa estas utilizando.

Y, bueno, lo comento porque, como sugerencia, si estas utilizando el programa Format Factory para convertir vídeos, quisiera recomendarte el utilizarlo y probar a ver que pasa, ya que, por mi parte, llevo años utilizandolo para convertir vídeos .mkv a .mp4 (y de paso, añadirles subtitulos), y, de momento,  nunca he tenido el problema que aquí has expuesto.

Muchas gracias por vuestra atención, y, bueno, saludos.
De momento las conversiones que he realizado las he hecho usando VLC ya que trabajo sobre Ubuntu y como ya lo tenía instalado, me evité el tener que buscar otro programa. Las conversiones de *.mkv a *.mp4 se realizaron bien como comenté en alguno de los mensajes anteriores pero el cambio de la tasa de fotogramas, no. No sé si es porque al cambiar el número de fotogramas por segundo, se modifica la duración del vídeo...
Aún no he podido probar Format Factory pero quería aprovechar este mensaje para responder y de paso agradecer la colaboración.
439  Media / Multimedia / Re: Problema para reproducir vídeos de disco duro en tv en: 8 Diciembre 2019, 17:10 pm
Acabo de observar una cosa que me hace pensar que el problema no está en los fps... Acabo de probar con un vídeo nuevo *.mp4 a 24 fps y tampoco se ve; sin embargo, he probado con un vídeo diferente *.mp4 a 25 fps y ese sí se puede ver. Os dejo las propiedades de ambos:
Vídeo que sí se ve:
  • Formato: avi
  • Dimensiones: 720 x 404
  • Códec de vídeo: MPEG-4 Vídeo
  • Tasa de fotogramas: 25 fps
  • Tasa de bits (vídeo): 1438 Kbps
  • Códec de audio: MPEG-1 Layer 3 (MP3)
  • Frecuencia de muestreo: 44100 Hz
  • Tasa de bits (audio): 127 Kbps

Vídeo que no se ve:
  • Formato: avi
  • Dimensiones: 720 x 404
  • Códec de vídeo: MPEG-4 Vídeo
  • Tasa de fotogramas: 24 fps
  • Tasa de bits (vídeo): 1499 Kbps
  • Códec de audio: MPEG-1 Layer 3 (MP3)
  • Frecuencia de muestreo: 44100 Hz
  • Tasa de bits (audio): 127 Kbps

PD: He localizado otro vídeo con todas las propiedades iguales al segundo de los expuestos arriba y que sí se ve... Ahora ya no tengo ni la menor idea de a qué puede deberse.

EDIT: Para obtener las propiedades de los vídeos no estoy usando ningún programa específico y si me queréis recomendar algún programa, trabajo con Ubuntu 18 aunque de ser necesario, puedo tener acceso a un Windows 10.
440  Media / Multimedia / Re: Problema para reproducir vídeos de disco duro en tv en: 8 Diciembre 2019, 02:52 am
He tenido este tema un poco abandonado por falta de tiempo pero voy a comentar hasta donde he llegado para los que tuviesen curiosidad.
Resulta que he estado intentando convertir dichos vídeos a 24 fps pero no lo he logrado (puede que sea por mi desconocimiento en este tema). Al seleccionar 24 fps en la conversión, obtenía un vídeo mucho más largo de lo original (con 1000 fps según las propiedades del vídeo), con el audio descoordinado y que pasado el tiempo original del vídeo, éste se quedaba con la pantalla en negro.
Al final optaré por utilizar el formato mp4 que automáticamente me cambia los fps a 24 y no genera descoordinación con el audio.

Suena a que te has comprado una TV que no trabaja con PAL y solo NTSC.
Por lo que he estado leyendo, el sistema de la TV depende del lugar de compra y ésta fue comprada en Europa por lo que debería trabajar con el sistema PAL en vez de NTSC. De todas maneras PAL trabaja a 25 fps y NTSC a 30 fps, por lo que no entiendo porque el problema está con los 25 fps si no supera ninguna de los dos valores y en cambio a 24 fps sí puedo reproducir los vídeos.

Si alguien tiene alguna sugerencia más, puede comentármela y lo probaré lo antes posible para daros una respuesta.
Páginas: 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ... 102
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines