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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  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 ... 90
121  Programación / Programación C/C++ / Re: Parejas en: 30 Mayo 2011, 21:04 pm
Qué tal si primero realizas el programa que simplemente realice las permutaciones (sin maximizar) y cuando las haga correctamente y sin repeticiones, ya maximizas el resultado?

Backtracking suele hacerse fácil si vas poco a poco, si lo intentas todo de golpe, se complica demasiado. Y te lo digo por pura experiencia.

Por otro lado, plantéate primero desarrollarlo como algo recursivo, que es lo más cercano a la definición natural de backtracking que te va a facilitar el asunto, y una vez funcione, traducirlo a iterativo.

Te han dicho que el programa al final sea de X forma, pero no que desde un principio empiece así,e intentar backtraking iterativo me parece un suicidio de buenas a primeras.

PD: si no tienes recursividad, usa una pila, es lo que se consigue implícitamente con la recursividad.
122  Foros Generales / Foro Libre / Re: ¿Vuestra velocidad de descarga? en: 30 Mayo 2011, 19:32 pm
Esos pings de 4ms son:
Usar ethernet y nada de wifi, que tu compañia use fibra optica y seguramente tener el nodo cerca de casa xD A parte, que siendo Barcelona, estará lanzando el pingtest contra el server de Barcelona.

Desde Valencia yo pillo 15ms de ping al server de speedtest.net de Barcelona.

Bueno, ya que estamos:

123  Programación / Programación C/C++ / Re: lapsus con punteros en: 30 Mayo 2011, 01:44 am
Si y no, * implica lo apuntado por, entonces *a es lo apuntado por a. si haces *a=b, lo apuntado por a, es igual a b, y dado que a es un puntero al tipo de b, a apunta a b.

La otra forma es a=&b, es decir, en a almacenas la dirección de memoria de b, y lo mismo, como a es un puntero al tipo de b, apunta a b,
124  Programación / Programación C/C++ / Re: lapsus con punteros en: 30 Mayo 2011, 00:21 am
Que tu código intenta igualar un entero y un puntero a entero, lo cual no es correcto porque no son tipos que se puedan convertir de uno a otro directamente,

Otra opción sería:

Código
  1. a=&b

En cualquier caso, y de una forma u otra, "a" debe recibir la dirección de memoria de "b".
125  Foros Generales / Foro Libre / Re: ¿Vuestra velocidad de descarga? en: 30 Mayo 2011, 00:19 am
dimitrix, en entornos académicos, en velocidades se usan bits, mientras que almacenamiento suele ser byte, dicho esto, el resto del mundo ya opera a su propio rtmo como los GigaBytes = 1000 MegaBytes de la mayoría de fabricantes de discos duros.
126  Foros Generales / Dudas Generales / Re: Problema con aviso.... en: 30 Mayo 2011, 00:01 am
LAacuestión es:

El aviso te va a salir mientras NO uses chrome. Lo tengas instalado o no, simplemente detecta que lo uses.
127  Programación / Programación C/C++ / Re: lapsus con punteros en: 29 Mayo 2011, 23:47 pm
Tu problema está en que si haces lo primero, el puntero apunta a dios sabe donde (en el mejor caso, si tu compilador inicializa las variables a 0, a NULL).

Entonces, la violación de segmento se produce por el hecho de que el trabajo que haga la función lo hace sobre un puntero que está señalando a la dirección de memoria NULL o a una zona que no es tuya.

En ese caso, el Sistema Operativo, te mata.

En el segundo caso no ocurre por tratarse de obtener la dirección de memoria del entero "a".

Para que el primer caso funcionase, debería ser algo así:

Código
  1. int *a;
  2. int b;
  3.  
  4. *a=b;
  5.  
  6. funcion(a);
  7.  
128  Programación / Programación C/C++ / Re: ayuda con colas en c/c++ en: 29 Mayo 2011, 23:11 pm
Fallo mío, no me había leído el código completo y tienes un typedef que "rompe" las referencias.

Código
  1. void mostrar_producto(NODOSIG* cola,int arti)
  2. {
  3. int i;
  4. NODOSIG actual=*cola;
  5. for(i=0;i<arti;i++)
  6. {
  7.  
  8.  printf("\n\t nombre del producto: %s\n\t cantidad del producto: %d\n\t precio del producto: %d",
  9.               actual->produ,actual->prod,actual->preci);
  10. actual=actual->siguiente;
  11. }
  12. }
129  Foros Generales / Foro Libre / Re: ¿Vuestra velocidad de descarga? en: 29 Mayo 2011, 22:59 pm
Porque jdownloader mide en Bytes (almacenamiento) y los tests de velocidad en bits (velocidades)

1 byte 8 bits. Lo cual según tu 1.22 implicaría que tienes alrededor de 9.6 Mbps no los 5,8 que te marca ese test de velocidad.
130  Programación / Programación C/C++ / Re: ayuda con colas en c/c++ en: 29 Mayo 2011, 22:33 pm
Tu problema es que no avanzas el puntero que recorre la cola y por otro lado, aprecio problemas con punteros.

Tu código:
Código
  1. void mostrar_producto(NODOSIG* cola,int arti)
  2. {
  3. int i;
  4. for(i=0;i<arti;i++)
  5. {
  6.  NODOSIG actual=*cola;
  7.  printf("\n\t nombre del producto: %s\n\t cantidad del producto: %d\n\t precio del producto: %d",
  8.               actual->produ,actual->prod,actual->preci);
  9. }
  10. }

Una aproximación que mantiene la mayor parte de tu código:

Código
  1. void mostrar_producto(NODOSIG* cola,int arti)
  2. {
  3. int i;
  4. NODOSIG *actual=cola;
  5. for(i=0;i<arti;i++)
  6. {
  7.  printf("\n\t nombre del producto: %s\n\t cantidad del producto: %d\n\t precio del producto: %d",
  8.               actual->produ,actual->prod,actual->preci);
  9. actual=actual->siguiente;
  10. }
  11. }

Cambiar el tipo de "actual" de NODOSIG a NODOSIG* evita que tengas que cambiar todo "actual->" por "actual." (actual punto) para acceder a los campos, ya que NO sería un puntero.
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 ... 90
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines