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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ¿como puedo crear un programa que genere anagramas?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿como puedo crear un programa que genere anagramas?  (Leído 11,810 veces)
adninc5

Desconectado Desconectado

Mensajes: 68


Visita mi Web: http://cineadanruiz10.blogspot.com/


Ver Perfil WWW
¿como puedo crear un programa que genere anagramas?
« en: 14 Febrero 2009, 04:38 am »

La idea es introducir una palabra en un textbox y que en una lista salgan las combinaciones.
Tambien se podrian introducir las letras en varios textbox, pero es preferible la primera opcion.
Gracias.


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #1 en: 14 Febrero 2009, 04:56 am »

Hola, pues mira con esto te salen las combianciones de una palabra..

Código
  1. Private Sub Combinaciones(Palabra As String, Optional strFixed As String)
  2.    Dim Recorrer As Integer
  3.    If Len(Palabra) <> 1 Then
  4.        For Recorrer = 1 To Len(Palabra)
  5.            Combinaciones Left$(Palabra, Recorrer - 1) & Mid$(Palabra, Recorrer + 1), strFixed & Mid$(Palabra, Recorrer, 1)
  6.        Next Recorrer
  7.    Else
  8.        List1.AddItem strFixed & Palabra
  9.    End If
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13.    Call Combinaciones("Hola")
  14. End Sub
  15.  

saludos.


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #2 en: 15 Febrero 2009, 07:23 am »

Hola, pues mira con esto te salen las combianciones de una palabra..

Código
  1. Private Sub Combinaciones(Palabra As String, Optional strFixed As String)
  2.    Dim Recorrer As Integer
  3.    If Len(Palabra) <> 1 Then
  4.        For Recorrer = 1 To Len(Palabra)
  5.            Combinaciones Left$(Palabra, Recorrer - 1) & Mid$(Palabra, Recorrer + 1), strFixed & Mid$(Palabra, Recorrer, 1)
  6.        Next Recorrer
  7.    Else
  8.        List1.AddItem strFixed & Palabra
  9.    End If
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13.    Call Combinaciones("Hola")
  14. End Sub
  15.  

saludos.

solo lo que se deberia agregar, es que para saber la cantidad de convinacion de una serie de letras, numeros, etc. por ejemplo:

Código:
La vida es dura pero el desaliente es aterno
[Se me dio un dia escribir frases y esta me dio aliento]

Para saber la convinacion que se puedan realizar de todos estos caracteres y espacios (aun que sean repetidos) solo se debe contar el numero total y multiplicar por sus antesesores es decir:

la longitud es de 44 letras

Se multiplicaria
Código:
44x43x42x41x40x39...x5x4x3x2x1   o en forma matematica  "44!".

El Total es de:

2.658271575x1054 combinaciones (son bastantes no)

en algo mas sencillo como

Código:
Lucifer

el total de las letras son 7

así que se multiplicaria

7x6x5x4x3x2x1=5040 combinaciones sin repetir

Código:
lucifer
lucifre
luciefr
lucierf
lucirfe
luciref
lucfier
lucfire
lucfeir
lucferi
lucfrie
lucfrei
lciefru
lcieruf
lcierfu
lcirufe
lciruef
lcirfue
lcirfeu
lcireuf
lcirefu
lcfuier
lcfuire
lcfueir
lcfueri
lcfurie
lcfurei
lcfiuer
lcfiure
lcfieur
lcfieru
lcfirue
lcfireu
lcfeuir
lcfeuri
lcfeiur
lcfeiru
lcferui
lcferiu
lcfruie
lcfruei
lcfriue
lcfrieu
lcfreui
lcfreiu
lceuifr
lceuirf
lceufir
lceufri
lceurif
lceurfi
lceiufr
lceiurf
lceifur
lceifru
lceiruf
lceirfu
lcefuir
lcefuri
lcefiur
lcefiru
lcefrui
lcefriu
lceruif
lcerufi
lceriuf
lcerifu
lcerfui
lcerfiu
lcruife
lcruief
lcrufie
lcrufei
lcrueif
lcruefi
lcriufe
lcriuef
lcrifue
lcrifeu
lcrieuf
lcriefu
lcrfuie
lcrfuei
lcrfiue
lcrfieu
lcrfeui
lcrfeiu
lcreuif
lcreufi
lcreiuf
lcreifu
lcrefui
lcrefiu
liucfer
liucfre
... y faltan mas ¬¬"
« Última modificación: 15 Febrero 2009, 07:30 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
adninc5

Desconectado Desconectado

Mensajes: 68


Visita mi Web: http://cineadanruiz10.blogspot.com/


Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #3 en: 16 Febrero 2009, 01:35 am »

Hola, pues mira con esto te salen las combianciones de una palabra..

Código
  1. Private Sub Combinaciones(Palabra As String, Optional strFixed As String)
  2.    Dim Recorrer As Integer
  3.    If Len(Palabra) <> 1 Then
  4.        For Recorrer = 1 To Len(Palabra)
  5.            Combinaciones Left$(Palabra, Recorrer - 1) & Mid$(Palabra, Recorrer + 1), strFixed & Mid$(Palabra, Recorrer, 1)
  6.        Next Recorrer
  7.    Else
  8.        List1.AddItem strFixed & Palabra
  9.    End If
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13.    Call Combinaciones("Hola")
  14. End Sub
  15.  

saludos.

solo lo que se deberia agregar, es que para saber la cantidad de convinacion de una serie de letras, numeros, etc. por ejemplo:

Código:
La vida es dura pero el desaliente es aterno
[Se me dio un dia escribir frases y esta me dio aliento]

Para saber la convinacion que se puedan realizar de todos estos caracteres y espacios (aun que sean repetidos) solo se debe contar el numero total y multiplicar por sus antesesores es decir:

la longitud es de 44 letras

Se multiplicaria
Código:
44x43x42x41x40x39...x5x4x3x2x1   o en forma matematica  "44!".

El Total es de:

2.658271575x1054 combinaciones (son bastantes no)

en algo mas sencillo como

Código:
Lucifer

el total de las letras son 7

así que se multiplicaria

7x6x5x4x3x2x1=5040 combinaciones sin repetir

Código:
lucifer
lucifre
luciefr
lucierf
lucirfe
luciref
lucfier
lucfire
lucfeir
lucferi
lucfrie
lucfrei
lciefru
lcieruf
lcierfu
lcirufe
lciruef
lcirfue
lcirfeu
lcireuf
lcirefu
lcfuier
lcfuire
lcfueir
lcfueri
lcfurie
lcfurei
lcfiuer
lcfiure
lcfieur
lcfieru
lcfirue
lcfireu
lcfeuir
lcfeuri
lcfeiur
lcfeiru
lcferui
lcferiu
lcfruie
lcfruei
lcfriue
lcfrieu
lcfreui
lcfreiu
lceuifr
lceuirf
lceufir
lceufri
lceurif
lceurfi
lceiufr
lceiurf
lceifur
lceifru
lceiruf
lceirfu
lcefuir
lcefuri
lcefiur
lcefiru
lcefrui
lcefriu
lceruif
lcerufi
lceriuf
lcerifu
lcerfui
lcerfiu
lcruife
lcruief
lcrufie
lcrufei
lcrueif
lcruefi
lcriufe
lcriuef
lcrifue
lcrifeu
lcrieuf
lcriefu
lcrfuie
lcrfuei
lcrfiue
lcrfieu
lcrfeui
lcrfeiu
lcreuif
lcreufi
lcreiuf
lcreifu
lcrefui
lcrefiu
liucfer
liucfre
... y faltan mas ¬¬"
¿Pero como seria el codigo?
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #4 en: 16 Febrero 2009, 03:48 am »

Cita de: adninc5 link=topic=245219.msg1180492#msg1180492
¿Pero como seria el codigo?
[/quote

En serio quieres que te lo responda?

El codigo mas compacto ya te dio Seba123Neo yo en lo personal te lo hubera dado con un poco mas de lineas para q le entendieras pero el mejor es de Seba123Neo
En línea

The Dark Shadow is my passion.
Krackwar ™

Desconectado Desconectado

Mensajes: 100



Ver Perfil
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #5 en: 16 Febrero 2009, 04:15 am »

Este es otro ejemplo de los tipicos que quieren que le hagan la tarea , ultimamente se estan viendo mucho.
En línea

WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código
  1. mov ecx,1000
  2. Etiqueta:
  3. invoke printf,"No Copiare en clases"
  4. loop Etiq
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #6 en: 16 Febrero 2009, 04:26 am »

Este es otro ejemplo de los tipicos que quieren que le hagan la tarea , ultimamente se estan viendo mucho.

Amm si eso parece con eso de que ya van a salir algunos de sus escuelas (colmo) se ven a varios, pero en todo caso el error aqui es dar un codigo es mejor dar la info o link a donde se de info detallada mas no el Source hecho, posiblemente ayudar con un codigo que ya este realizando pero NUNCA darselo REALIZADO/HECHO y mucho menos si NO SABE NADA DE NADA ¬¬".

Edito para no RE-POST--------

En la Bandeja de Privados tengo:

Cita de: adninc5 date=1234753896
Es que ese no me funciona
Usa tu cabeza o leete un Manual y si no Sabes dejalo.

Cita de: adninc5 date=1234755033
Gracias. Pero me salen muy pocas combinaciones
Por Dios si es la palabra "Hola" el total es de 4x3x2x1=24 combinaciones SIN Repetir
Si es "P e n d e j o" (sin espacios) el total es de 7x6x5x4x3x2x1=5040 combinaciones SIN Repetir.

Por favor no pidas mas de las que son Matematicamente ¬¬# >:( >:( >:( ademas ya lo explique en el 3er post de este TEMA.

Cita de: adninc5 date=1234755089
Y quisiera que en un textbox pudiera ingresar la palabra.

Bueno este tipo que, apoco no sabe algo Sencillo como usar los TextBox y sus propiedades?

Solo me queda decir: nadie es maestro de nada, este foro es de dudas y respuestas PERO TENIENDO BASES en sus dudas, por Luci.

NO INTENTES CORRER SIN ANTES SABER CAMINAR Y APENAS ESTAS GATENADO O EN SU DEFECTO TE ESTAN CARGANDO ¬¬".

P.D.: Si a alguien ofendo con las mayusculas no esperen disculpas ya que solo así se entiende.!!¡¡ (ojala pudiera meter la mano al monitor y pegarle un susto endemoniado a... pero no se puede ¬¬ posiblemente en unos 2 siglos ya xP)
« Última modificación: 16 Febrero 2009, 04:43 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
CICOLO_111234

Desconectado Desconectado

Mensajes: 200

CICOLO_111234


Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #7 en: 17 Febrero 2009, 20:26 pm »

pero sin quieres sin + saber por ejemplo cuanto es 7!, utiliza este codigo:

inserta un timer, un command y 2 textboxs y escribe este codigo:

Código:
Option Explicit
Dim a
Dim b


Private Sub Command1_Click()
a = Text1.Text
Timer1.Enabled = True

End Sub

Private Sub form_load()

b = 1
End Sub
Private Sub Timer1_Timer()
b = b * a
If a - 1 <> 0 Then
a = a - 1
Else
Text2.Text = "Resultado: " & b
End If
End Sub
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿como puedo crear un programa que genere anagramas?
« Respuesta #8 en: 18 Febrero 2009, 06:08 am »

pero sin quieres sin + saber por ejemplo cuanto es 7!, utiliza este codigo:

inserta un timer, un command y 2 textboxs y escribe este codigo:

Código:
Option Explicit
Dim a
Dim b
Private Sub Command1_Click()
a = Text1.Text
Timer1.Enabled = True
End Sub
Private Sub form_load()
b = 1
End Sub
Private Sub Timer1_Timer()
b = b * a
If a - 1 <> 0 Then
a = a - 1
Else
Text2.Text = "Resultado: " & b
End If
End Sub

por Luci ¬¬"

Usar un timer Error Feo.
No Limpias las variables.
MuchasLineas de Codigo.

por Luci ¬¬"

Conclución Codigo Feo e Ineficiente (al timer en interval le pongo cada 10 segundos y tardaria un buen en deducer las combinaciones ¬¬" )

Aca dejo mi Codigo menos lineas y menos memoria de uso.

Solo agregar un modulo y pegar este codigo (No se nesesita formulario en el Proyecto)

Configurar el proyecto para que arranque el proceso Sub Main (Solo si tienes un Formulario en el proyecto) y listo correrlo.

Código
  1. Option Explicit
  2. Sub main()
  3.    MsgBox NumConvinacion(Val(InputBox("Numero de Caracteres:", "Cantidad", "1")))
  4. End Sub
  5. Function NumConvinacion(Optional ByVal Cantidad As Integer = 1) As Double
  6.    NumConvinacion = 1
  7.    Dim i As Integer
  8.    For i = 1 To Cantidad: NumConvinacion = NumConvinacion * i: Next i
  9. End Function
  10.  

P.D.: se limita a   :silbar: :silbar: 170! :silbar: :silbar:

Dulces Lunas
« Última modificación: 18 Febrero 2009, 06:37 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines