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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 401
211  Programación / Programación General / Re: Decodificar un base64 en: 29 Septiembre 2017, 19:37 pm
¿Estás seguro de que eso es el nombre de la imagen?

Si tienes el código del servidor a mano, seguro que podrás tener más información.
212  Programación / Programación C/C++ / Re: ayuda encontrar el numero mayor en: 28 Septiembre 2017, 23:06 pm
Lo único que puedo decir es que busques sobre el maravilloso mundo de los arrays.
213  Programación / Programación C/C++ / Re: crear matriz con new en una clase c++ en: 28 Septiembre 2017, 22:09 pm
Salvo que quieras hacer algún "hack" , 1 new y un for para hacer otros new es la solución normal.

Otra opción es reservar NxM elementos, y acceder con la fórmula (siendo 'i' el primer índice y 'j' el segundo): matriz[j + i*N]. Teniendo cuidado con matrices especialmente grandes ya que es más probable que obtengas un error al tratar de encontrar NxMx(sizeof) bytes contiguos (cosa más complicada si lo divides en filas).

En cuanto a eficiencia, si bien compiten bastante (y no olvidando que utilizar varios punteros aumenta mucho la legibilidad), se pueden ver pequeños cambios:

Código
  1. #include <ctime>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. template <typename ...Args>
  7. void test(void(*func)(Args...), const char* text, Args... args){
  8.    clock_t cl = clock();
  9.  
  10.    func(args...);
  11.  
  12.    cout << (clock() - cl) << "ms on: " << text << endl;
  13. }
  14.  
  15. int main(){
  16.    const int N = 1000, M = 1000, TIMES = 1000;
  17.  
  18.    int **mat1;
  19.    int *mat2;
  20.  
  21.    test(+[](int*** mat){
  22.        *mat = new int*[N];
  23.        for(int i = 0; i < N; i++){
  24.            (*mat)[i] = new int[M];
  25.        }
  26.    }, "Initialization 1", &mat1);
  27.  
  28.    test(+[](int** mat){
  29.        *mat = new int[N*M];
  30.    }, "Initialization 2", &mat2);
  31.  
  32.  
  33.    test(+[](int** mat){
  34.        for(int l = 0; l < TIMES; l++){
  35.            for(int i = 0; i < N; i++){
  36.                for(int j = 0; j < M; j++){
  37.                    volatile int k = mat[i][j];
  38.                }
  39.            }
  40.        }
  41.    }, "Loop 1 - 1", mat1);
  42.  
  43.        test(+[](int** mat){
  44.            for(int l = 0; l < TIMES; l++){
  45.                for(int i = 0; i < N; i++){
  46.                    for(int j = 0; j < M; j++){
  47.                        volatile int k = mat[j][i];
  48.                    }
  49.                }
  50.            }
  51.        }, "Loop 1 - 2", mat1);
  52.  
  53.    test(+[](int* mat){
  54.        for(int l = 0; l < TIMES; l++){
  55.            for(int i = 0; i < N; i++){
  56.                for(int j = 0; j < M; j++){
  57.                    volatile int k = mat[j + i*N];
  58.                }
  59.            }
  60.        }
  61.    }, "Loop 2", mat2);
  62. }

Citar
2ms on: Initialization 1
0ms on: Initialization 2
2514ms on: Loop 1 - 1
3296ms on: Loop 1 - 2
2001ms on: Loop 2
214  Foros Generales / Noticias / Re: Ya puedes probar Firefox Quantum, el Firefox más rápido y con la nueva .... en: 27 Septiembre 2017, 20:51 pm
El que saquen más versiones es bueno. Esas versiones tienen fixes, implementaciones y novedades que interesan a muchos o arreglan problemas de muchos. Que consuma menos ram, ya lo hace.

y esto:

Es como culpar a Microsoft de abandonar XP. Por favor. 2017.

Saludos

Jaja algo así estuve discutiendo hoy. De qué sirve que haya 100 tecnologías nuevas y 1000 formas de mejorar la experiencia de los usuarios, si va a haber gente quejándose de que no soportan SO antiguos o cosas antiguas. Hay un límite. Cada vez es más fácil estar al día. Quien se queje, que se quede con versiones antiguas y punto.
215  Foros Generales / Dudas Generales / Re: Mi teclado no tiene signo mayor que ni menor ayudaa en: 26 Septiembre 2017, 22:23 pm
Pon el teclado en pantalla. Si usas Windows, basta que pulses Inicio y busques "teclado en pantalla".

Y sinó... Pues cópialo xD  <  >
216  Programación / Bases de Datos / Re: Ayuda con relacion (trampa del abismo) en: 26 Septiembre 2017, 19:48 pm
Si no le pones "NOT NULL" a la FK, no hay problema en que sea NULL.
217  Programación / Bases de Datos / Re: Ayuda con relacion (trampa del abismo) en: 25 Septiembre 2017, 19:45 pm
¿Y poniendo en la tabla PROYECTO una id del departamento al que pertenece?
218  Programación / Scripting / Re: Un IDE para Python que me recomienden? en: 23 Septiembre 2017, 22:43 pm
Puedes probar VSCode.
219  Programación / Programación C/C++ / Re: Cömo detener búsqueda recursiva de un elemento en: 23 Septiembre 2017, 21:47 pm
Si llamas a la función con aux = NULL (o nullptr o 0), basta que llames a buscar(der()) solo si aux == 0.
220  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Como poner una URL a un texto? en: 23 Septiembre 2017, 14:12 pm
Procura no usarlo para hacer fechorías: google.com
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines