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


 


Tema destacado: Píldoras formativas en seguridad de la información


  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 ... 351
121  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.
122  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);
123  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?
124  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.
125  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.
126  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.
127  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.
128  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. }
129  Programación / Programación C/C++ / Re: Tipos Abstractos de Datos en: 4 Marzo 2017, 14:01
Depende de qué pila.
En una pila generalmente podrás acceder al primer elemento, y luego, al siguiente, y así sucesivamente. Para ello tendrías que recorrer la pila manualmente e ir contando cuáles son pares y cuáles no.
Si fuera una pila en la que solo puedes acceder a la cima, entonces tendrías que crear otra pila e irla "desmontando" en ella, retirando elemento a elemento.
130  Programación / Programación C/C++ / Re: Modificar nodo en una lista dinámica. en: 4 Marzo 2017, 13:57
Pusiste: cout<<aux->next;
next es un puntero. Como aparece un 0, significa que el siguiente es NULL. Es correcto.
Tal vez quisiste poner aux->element (antes de la línea aux = aux->next, eso sí)

De todos modos, pusiste Luis como valor antiguo. No exise, así que no tiene que hacer nada.

En la imagen aparece un error 0xC0000005. De este error está bien que te acujerdes (es de los pocos que verás "normalmente"). Es un error por, generalmente, acceder a una zona de memoria que no debes.

Pero no te preocupes. En este caso es por esto:
Código
  1. aux= aux->next;
  2. cout<<aux->next;
Si aux->next es NULL, luego, en el cout, tratas de acceder a aux->next, es decir, NULL->next. Pero bueno, sería cambiar el orden de esas líneas y listo (o poner element, como puse arriba)

Y lo dicho, tienes mal la salida del menú:
Código
  1.            cout<<"What's the new value?"<<endl;
  2.            cin>>value;
  3.            if(opt==1){
  4.                int pos;
  5.                cout<<"In which position do you want to edit?"<<endl;
  6.                cin>>pos;
  7.                a.editByPos(value,pos);}
  8.            else if (opt==2){
  9.                cout<<"For which value do you want to change?"<<endl;
  10.                cin>>newName;
  11.                a.editByValue(value, newName);}
Primero pides el new value. Luego, lo pides de nuevo. El primer "nuevo valor", es el que pasas como antiguo. Revisa esos couts y cómo llamas a la función.
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 ... 351
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines