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


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


  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 ... 348
91  Programación / Programación C/C++ / Re: Saber que SO tiene la maquina a trabajar en: 8 Marzo 2017, 23:58
Si compilas para Windows, pues tendrás que compilar para Windows. Si compilas para Unix, pues lo mismo. Los programas compilados rara vez podrán ser ejecutados en múltiples sistemas operativos (salvando alguna excepción, como Wine)

Por tanto, una aplicación ya compilada tiene commo destino 1 sistema operativo genralmente.

Si vas a compilar para varios, entonces puedes usar directivas del preprocesador tipo:

Código
  1. #ifdef _WIN32
  2.    const char* SO = "Windows";
  3. #else
  4.    const char* SO = "Otro";
  5. #endif

Aquí tienes una lista de macros definidos para cada sistema operativo: https://sourceforge.net/p/predef/wiki/OperatingSystems/

Si bien no es estándar, en la mayoría de compiladores importantes los verás definidos.
92  Programación / Programación C/C++ / Re: [Problema Reto C/C++] Sumatoria de Rangos de Impares en: 8 Marzo 2017, 23:09
Yo si no está ofuscado, no me parece correcto.

Código
  1. #include <cstdio>
  2.  
  3. int getResult(int a, int b){
  4. return (b*b+(b&1)*(b*2+1)-a*a+(a&1)*(a*2-1))>>2;
  5. }
  6.  
  7. int main(){
  8. printf("%i\n",getResult(5, 20));
  9. printf("%i\n",getResult(5, 19));
  10. printf("%i\n",getResult(4, 20));
  11. printf("%i\n",getResult(4, 20));
  12. }
93  Programación / Programación C/C++ / Re: [c++11] ¿Como pasar n argumentos a una función? en: 8 Marzo 2017, 18:40
Ya que lso números son contiguos de 0 a N, en vez de un map, tal vez te interese utilizar un vector o una list.

A parte de eso, sobre el método variadic, lo dicho. Si puedes, pon un ejemplo de cómo usarías el método variadic con una cantidad indefinida de argumentos. No digo que lo hagas, sinó que lo utilices como si existiera para saber qué quieres hacer con él.
94  Programación / Programación C/C++ / Re: Cuando hay espacios en el ingreso del nombre el programa termina en: 8 Marzo 2017, 13:50
Supongo que, al igual que scanf, cin usa los espacios en blanco como separadores de datos. Cuando encuentra uno cree que ha llegado al final de la cadena esperada.
En C++, creo que para adquirir una cadena con espacios es con
Código
  1. std::getline(std::cin, mi_cadena);
Para std::string, sí. Para char*, entonces será:
Código
  1. cin.getline(cadena, tamaño_cadena); // Lee hasta '\n'
  2. // O
  3. cin.getline(cadena, tamaño_cadena, caracter_delimitador); // Lee hasta el delimitador

O sea:
Código
  1. cin.getline(nombre, 40);
95  Programación / Programación C/C++ / Re: [c++11] ¿Como pasar n argumentos a una función? en: 8 Marzo 2017, 13:45
Si pones un ejemplo del código en el que uses los métodos de la clase m_register, se me despejarían algunas dudas.
No estoy seguro de que realmente te interese una función variadic.
Si quieres comprimir los 3setters y los 3 getters en 1 setter y 1 getter, podrías meter los 3 maps en un array (o en una std::list si te interesa que sea una cantidad de maps variable (o std::vector, vaya, según necesidades)), y en los setters/getters, recibir como parámetro el índice del map.

Si aun quieres utilizar un método variadic, ver un ejemplo de uso sería muy explicativo.
Y por cierto, ¿qué valores almacenas exactamente en el map?
96  Programación / Desarrollo Web / Re: Seleccion de operaciones matematicas con javascript en: 5 Marzo 2017, 18:35
Código
  1. resultado = var numero_uno + var numero_dos;

Será:

Código
  1. var resultado = numero_uno + numero_dos;

var es solo al declarar las variables.
97  Foros Generales / Dudas Generales / Re: ¿Si recibí porno infantil por un grupo de whapsapp ,como lo puedo denunciar? en: 5 Marzo 2017, 00:23
Depende de tu país. En España por ejemplo, la policía tiene web para estas cosas: https://www.policia.es/formulario_generico.php?ordenes=6
Y teléfono, vaya.
98  Programación / Programación C/C++ / Re: Ayuda con un error en: 5 Marzo 2017, 00:19
Así sin más, es difícil decir qué ocurre.
Asegúrate de que el ejecutable no se esté ejecutando ya (en caso de que estés recompilando). Fíjate en que no exista el proceso.

Si no era ese el caso, puedes poner aquí el código (salvo que sea muy largo, vaya)

Sobre el error: al compilar hay 2 fases. La primera, la compilación per sé, en que transformas código a código objeto, binario. Y luego, todos los códigos objeto que haya, se enlazan en 1 ejecutable (o librería o lo que sea). "ld" es el linker, y es esta última fase. Si SOLO te da ese error, entonces puede ser que el ejecutable esté corriendo. En tal caso, tira error por no poder crear el nuev ejecutable.

Pero bueno, depende.
99  Programación / Programación C/C++ / Re: enteros de 12 bits en: 5 Marzo 2017, 00:13
Citar
unsigned char a[9] = {
 0b00011100, // 0 (entero 1)
 0b10010001, // 1 (entero 2)
 0b11001010, // 2 (nada)
 0b00011100, // 0 (entero 1)
 0b10110001, // 1 (entero 2)
 0b11001100, // 2 (nada)
 0b00011100, // 0 (entero 1)
 0b11010001, // 1 (entero 2)
 0b11001110 // 2 (nada)
};

Tienes 2 enteros cada 3 bytes.
En el primer bytes, obtienes el primer entero (accediendo, además, al siguiente byte)
En el segundo byte, obtienes el segundo entero (accediendo también al siguiente byte)
El tercer byte es, en su totalidad, parte del anterior entero. Aquí no hay anda que hacer

Y repites. 3 bytes, 2 acciones.
100  Programación / Programación C/C++ / Re: enteros de 12 bits en: 4 Marzo 2017, 21:45
No depende de si el byte es par o impar. Depende del resto de dividir entre 3:

Código
  1. int main()
  2. {
  3. for(int i=0; i<9; i++)
  4. {
  5. if(i % 3 == 1){
  6. short x = ((a[i] & 0xF) << 8);
  7. x |= ((a[i+1] & 0xFF));
  8. printf("%d\n", x);
  9.  
  10. } else if(i % 3 == 0) {
  11.  
  12. short x = (a[i] << 4) | ((a[i+1] >> 4) & 0xF);
  13. printf("%d\n", x);
  14. }
  15. }
  16. }
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 ... 348
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines