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

 

 


Tema destacado: Curso de javascript por TickTack


  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
131  Programación / Programación Visual Basic / Re: Activar funciones desde programa externo en: 9 Enero 2014, 10:31 am
Y si fuera un picturebox? Funcionaría igual?
132  Programación / Programación C/C++ / Re: [RESUELTO] FUNCIONES GLOBALES CLASS en: 20 Diciembre 2013, 19:00 pm
Traté de hacerlo todo en el .h, pero es una basura, hay cosas que no se pueden pisar, como las variables static (al menos yo no pude, y lo intenté mucho y busqué mucho en internet, todos siguen la lógica de usar el .cpp....)

PERO PUDE LOGRARLO!

Código
  1. ////////////////////////////////////////////////////////////////////////////////
  2. // Filename: GlobalMisery.h
  3. ////////////////////////////////////////////////////////////////////////////////
  4. #ifndef _GLOBALMISERY_H_
  5. #define _GLOBALMISERY_H_
  6.  
  7. ////////////////////////////////////////////////////////////////////////////////
  8. // Class name: GlobalMiseryClass
  9. ////////////////////////////////////////////////////////////////////////////////
  10. class GlobalMiseryClass
  11. {
  12. public:
  13. static int Mier**;
  14.  
  15. GlobalMiseryClass();
  16. ~GlobalMiseryClass();
  17.  
  18. template<typename T> static void deleten(T *&ptr)
  19. {
  20. delete ptr;
  21. ptr = 0;
  22. }
  23.  
  24. template<typename T> static T Suma(T a, T b)
  25. {
  26. return a + b;
  27. }
  28. };
  29.  
  30. #endif
  31.  

Código
  1. ////////////////////////////////////////////////////////////////////////////////
  2. // Filename: GlobalMisery.cpp
  3. ////////////////////////////////////////////////////////////////////////////////
  4. #include "GlobalMisery.h"
  5.  
  6. //Necesito esta mier** para que compile...
  7. int GlobalMiseryClass::Mier** = 0;
  8.  
  9. GlobalMiseryClass::GlobalMiseryClass()
  10. {
  11.  
  12. }
  13.  
  14. GlobalMiseryClass::~GlobalMiseryClass()
  15. {
  16.  
  17. }
  18.  

Código
  1.          #include "GlobalMisery.h"
  2.  
  3. ...
  4.  
  5.         int* a = new int;
  6.  
  7. GlobalMiseryClass::deleten(a);
  8.  
  9. GlobalMiseryClass::Mier** = 3;
  10.  
  11.          int b;
  12. int c;
  13. int d;
  14.  
  15. b = 1;
  16. c = 2;
  17.  
  18. d = GlobalMiseryClass::Suma(b, c);
  19.  

Gracias por el aporte (Y).
133  Programación / Programación C/C++ / Re: [AYUDA] FUNCIONES GLOBALES CLASS en: 20 Diciembre 2013, 16:55 pm
En realidad estoy buscando algo extremadamente fácil que podía hacer en VB6 que era como declarar un módulo y llamarlo así:

Module1.Función()

Algo así, que la clase tenga solamente funciones y variables globales para llamar desde cualquier lado, como RandomNumber, Suma, Resta, blabla, pero no puedo hacerlo funcionar con template<typename T> T Suma(T a, T b) por ejemplo, porque cuando trato de compilar me tira errores que ni idea que són...

Si tengo la estrucura en el .h, al escribirlo en el .cpp se llama sólo? cómo funciona?

Ej:
Tengo GlobalMisery.h y GlobalMisery.cpp

Yo estoy en main.cpp

Si hago un include a GlobalMisery.h, se llama a su vez a GlobalMisery.cpp?

Porque en ese cpp tengo el código de la estructura del .h

El tema de punteros está todo muy lindo, pero con este tema de templates es horrible, yo no lo puedo hacer funcionar :(
134  Programación / Programación C/C++ / [RESUELTO] FUNCIONES GLOBALES CLASS en: 20 Diciembre 2013, 15:39 pm
Hola a todos, me estaba preguntando cómo podría hacer yo una clase que tenga funciones globales, y que a su vez permita templates ej:

MiClase::Mensaje("hola"); //función común

//Template
a y b = int
MiClase::Suma(a, b);

a y b = float
MiClase::Suma(a, b);

No sé si es mejor una clase o un namespace, para mi es todo de lo mismo *-)

Desde yá muchas gracias.
135  Programación / Programación Visual Basic / Re: [RETO] Determinar Número Perfecto en: 25 Octubre 2013, 18:23 pm
HOLA!!!

Mi funcion puede verificar los numeros perfectos sin problema, probe con el ultimo que esta aca y lo verifica en menos de 0,1 ms .-

Para que vean que lo que importa es el algoritmo no el lenguaje ;)

Código
  1. Private Function IsPerfect(N As Double) As Boolean
  2.    Dim Sum As Double
  3.    Dim Aux As Double
  4.    Aux = N / 2
  5.    Sum = 1 + Aux
  6.    Do While Aux > 2
  7.        If Fix(Aux / 2) < Aux / 2 Then
  8.            Aux = Aux + 1
  9.        End If
  10.        Aux = Aux / 2
  11.        Sum = Sum + Aux
  12.    Loop
  13.    IsPerfect = (N = Sum)
  14. End Function

Superenme ;)

GRACIAS POR LEER!!!

Mientras estuve tratando de crear un algoritmo, me dí cuenta que esa función retorna mal algunos valores como por ejemplo:

al verificar con el número 2 retorna Verdadero el cual no es perfecto.
al verificar con el número 12 retorna Verdadero el cual no es perfecto.
al verificar con el número 14 retorna Verdadero el cual no es perfecto.
al verificar con el número 24 retorna Verdadero el cual no es perfecto.
etc
136  Programación / Programación Visual Basic / Re: [RETO] Determinar Número Perfecto en: 23 Octubre 2013, 19:19 pm
Voy a esperar a ver quién más postea algún código mientras mejoro el mio.

Estoy en .NET (solamente por el número que uso para testear la función) utilizando como prueba el número perfecto 2305843008139952128

Con respecto a los resultados en y con:
SO: Windows 7 Ultimate 64 bits
Procesador: Intel(R) Core(TM) i5-3570K CPU @ 3.40Ghz 3.40GHz
Memoria instalada (RAM): 16,0 GB

79137913:
Número: 2305843008139952128
Resultado: True
Tiempo Milisegs: 0,0084 (EL MÍNIMO TIEMPO POSIBLE DE DEMASIADOS INTENTOS)




PD: el mio no lo muestro porque necesito una computadora quántica para que me diga el tiempo que tarda, pero estoy en éso.
137  Programación / Programación Visual Basic / Re: [RETO] Determinar Número Perfecto en: 23 Octubre 2013, 18:14 pm
Nono, es cierto, me faltó una conversión de tu función a UInt64, el código funciona bien y muy rápido :D :D
138  Programación / Programación Visual Basic / Re: [RETO] Determinar Número Perfecto en: 23 Octubre 2013, 17:29 pm
Estuve probando ésto en .NET que soporta números muy grandes, y la función que hiciste en números muy grandes retorna True en todos los números, estoy pasándolo a VB.NET para que lo veas mejor.
139  Programación / Programación Visual Basic / Re: [RETO] Determinar Número Perfecto en: 23 Octubre 2013, 16:58 pm
HOLA!!!

Hice una pequeña prueba  con el maximo numero que soporta tu funcion y solo una llamada:


For the record:
Mi funcion recien empieza a tener un tiempo registrable luego de las 1000 llamadas (4ms) con 10000 llamadas llega a 47ms!
 
Y por supuesto...
Con el numero: 2305843008139952128

@Miseryk :
En vez de buscar el ultimo digito de esa manera buscalo asi, ya que tu funcion no acepta numeros mayor que long te va a servir:
Código
  1. Lastnum = Numero mod 10

GRACIAS POR LEER!!!

Wow, interesante, no se me había ocurrido.
140  Programación / Programación Visual Basic / Re: [RETO] Determinar Número Perfecto en: 23 Octubre 2013, 16:57 pm
Código Completo:

Código
  1. Option Explicit
  2.  
  3. '6
  4. '28
  5. '496
  6. '8128
  7. '33550336
  8. '8589869056
  9. '137438691328
  10. '2305843008139952128
  11.  
  12. Public Function Misery_MOD(ByVal dividendo As Double, ByVal divisor As Double) As Double
  13. 'x / y = z
  14. 'y * z + R = x
  15.  
  16. '10 / 3 = 3,333
  17. '10 / 3 = 3
  18. Misery_MOD = dividendo - (divisor * Fix(dividendo / divisor))
  19. End Function
  20.  
  21. Public Function IsPerfect(ByRef numero As Double) As Boolean
  22. Dim loopc As Double
  23. Dim calc As Double
  24.  
  25. Dim LastNum As Byte
  26.  
  27. Dim Max As Variant
  28.  
  29. Max = Fix(CDbl(numero) / CDbl(2))
  30.  
  31. 'By 79137913
  32. LastNum = numero Mod 10
  33.  
  34. If LastNum = 6 Or LastNum = 8 Then
  35.    For loopc = Max To 1 Step -1
  36.        'If numero Mod loopc = 0 Then
  37.        If Misery_MOD(numero, loopc) = 0 Then
  38.            calc = calc + loopc
  39.  
  40.            If calc > numero Then
  41.                IsPerfect = False
  42.                Exit Function
  43.            End If
  44.        End If
  45.    Next loopc
  46. End If
  47.  
  48. IsPerfect = (calc = numero)
  49. End Function
  50.  
  51. Private Sub Form_Load()
  52. 'MsgBox 33550336 Mod 10
  53. MsgBox IsPerfect(33550336)
  54. End
  55. End Sub
  56.  

Modificación_2
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
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines