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


 


Tema destacado: Cifrar documentos-carpetas con GnuPG en Linux y Windows


  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 ... 389
81  Programación / Programación General / Re: Decodificar un base64 en: 29 Septiembre 2017, 19:37
¿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.
82  Programación / Programación C/C++ / Re: ayuda encontrar el numero mayor en: 28 Septiembre 2017, 23:06
Lo único que puedo decir es que busques sobre el maravilloso mundo de los arrays.
83  Programación / Programación C/C++ / Re: crear matriz con new en una clase c++ en: 28 Septiembre 2017, 22:09
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
84  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
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.
85  Foros Generales / Dudas Generales / Re: Mi teclado no tiene signo mayor que ni menor ayudaa en: 26 Septiembre 2017, 22:23
Pon el teclado en pantalla. Si usas Windows, basta que pulses Inicio y busques "teclado en pantalla".

Y sinó... Pues cópialo xD  <  >
86  Programación / Bases de Datos / Re: Ayuda con relacion (trampa del abismo) en: 26 Septiembre 2017, 19:48
Si no le pones "NOT NULL" a la FK, no hay problema en que sea NULL.
87  Programación / Bases de Datos / Re: Ayuda con relacion (trampa del abismo) en: 25 Septiembre 2017, 19:45
¿Y poniendo en la tabla PROYECTO una id del departamento al que pertenece?
88  Programación / Scripting / Re: Un IDE para Python que me recomienden? en: 23 Septiembre 2017, 22:43
Puedes probar VSCode.
89  Programación / Programación C/C++ / Re: Cömo detener búsqueda recursiva de un elemento en: 23 Septiembre 2017, 21:47
Si llamas a la función con aux = NULL (o nullptr o 0), basta que llames a buscar(der()) solo si aux == 0.
90  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Como poner una URL a un texto? en: 23 Septiembre 2017, 14:12
Procura no usarlo para hacer fechorías: google.com
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 ... 389
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines