Autor
|
Tema: [ayuda] Combinar caracteres (Leído 6,264 veces)
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Hola amigos, necesito su ayuda , necesito conbinar todos los caracteres del abecedario de 2 a 6 digitos, algo asi: Muchas gracias!!!
|
|
« Última modificación: 13 Abril 2010, 20:42 pm por *PsYkE1* »
|
En línea
|
|
|
|
Shell Root
|
...de 2 a 6 digitos,... Con eso te referis a que empieza desde aa y termina en zzzzzz
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
|
Shell Root
|
Podrias usar la funcion de mi amigo Og., aunque la podrias modificar así: function muestra($num){ $a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $ctp = 0; while($num != 0){$tmp[$ctp] = $num%$cont; $num -= $tmp[$ctp++]; $num /= $cont;} while($ctp != 0){echo $a[$tmp[--$ctp]];} } for($i=1;$i<300;$i++){ muestra($i); echo "<br>"; }
Resultado:
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Lupin
Desconectado
Mensajes: 153
|
...mmm no entendi mucho el codigo anterior...¿php? otra opcion podria ser anidar for de hasta seis niveles...me imagino k esto consumira harta memoria es algo de 500 millones de combinaciones ufff
|
|
|
En línea
|
|
|
|
Shell Root
|
En Visual Basic 6.0 sería algo así: (Desde hace mucho raton que no programó en VB, así que obviamente debe tener algun error)Public Function Muestra(strNumero As String) As String Dim strAbecedario As String Dim intContador, intctp, intNum As integer Dim intTemp(), inta() As Integer strAbecedario = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" intContador = Len(strAbecedario) intctp = 0 while intNum <> 0 intTemp(intctp) = intNum MOD intCont intNum -= intTemp(intctp + 1) intNum /= intCont End While While intctp <> 0 inta(intTemp(intctp - intctp)) End While End Function For inti As integer = 0 to 300 Muestra(inti) Next
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
' // // // // // // // // // // // // // // // // ' // Se nesesita solo un ListBoX = List1// // // // ' // // // // // // // // // // // // // // // // Private Sub Combinaciones(Palabra As String, Optional strFixed As String) Dim Recorrer As Integer If Len(Palabra) <> 1 Then For Recorrer = 1 To Len(Palabra) Combinaciones Left$(Palabra, Recorrer - 1) & Mid$(Palabra, Recorrer + 1), strFixed & Mid$(Palabra, Recorrer, 1) Next Recorrer Else List1.AddItem strFixed & Palabra End If End Sub
Private Sub Form_Load() List1.visible = false Call Combinaciones("ABCDEFGHIJKLMNOPQRSTUVWXYZ") List1.visible = true End Sub
Sangriento Infierno Lunar!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Gracias BlackZeroX▓▓▒▒░░ , pero creo q no es lo que necesito: En vez de: Call Combinaciones("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
puse: Call Combinaciones("ABC")
Y obtuve como resultado en el ListBox esto: Faltan BBA o BCC por ejemplo, ademas, necesito que sea de 2 digitos y con todas las combinaciones... Salu2
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Antes que nada: ANTES DE 'B' SIEMPRE VA 'M', NO 'N'
Después, tu sabes lo que quieres hacer, así que por que no diseñas tu el algoritmo? Si no dominas todavía la programación supongo que si que podrás hacerlo en tu idioma (castellano), después de tener los pasos necesarios podrás imaginar como se hace programando.
Vas a ver mi comentario como uno que no ayuda, pero date cuenta que si te lo hacen no aprenderás.
|
|
|
En línea
|
|
|
|
Lupin
Desconectado
Mensajes: 153
|
Mi codigo no es muy eficiente que digamos je je je pero la intencion es la que cuenta pero creo que puede dar una idea....solo seria para 2 y 3 digitos..para mas digitos habria que anidar mas for..y no me atrevo pork ya colgue mi maquina y perdi mi trabajo que no he guardado... Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Form_Load()
Dim abecedario(0 To 26) As String Dim FileNum As Integer For x = 1 To 26 abecedario(x) = Chr(96 + x) Next x
FileNum = FreeFile Open "C:\abecedario.txt" For Output As FileNum For x = 1 To 26 ' con 2 digito For y = 1 To 26 letra = letra + Trim(abecedario(y)) + Trim(abecedario(x)) + " " Next y letra = letra + vbCrLf Next x For x = 1 To 26 ' con 3 digito For y = 1 To 26 For w = 1 To 26 letra = letra + Trim(abecedario(w)) + Trim(abecedario(y)) + Trim(abecedario(x)) + " " Next w Next y letra = letra + vbCrLf Next x Print #FileNum, letra ShellExecute Me.hwnd, "open", "c:\abecedario.txt", "", "", 4 Close FileNum End Sub
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda en C++ (Conversion de Caracteres)
Programación C/C++
|
DragonShiryu
|
7
|
5,518
|
15 Septiembre 2011, 00:45 am
por Eternal Idol
|
|
|
¿Se pueden combinar memorias RAM de distinta capacidad?
Hardware
|
iMarcSpS
|
3
|
36,472
|
6 Septiembre 2012, 20:30 pm
por Meta
|
|
|
Ayuda! Concatenar carácteres en C
Programación C/C++
|
ARCAME
|
1
|
2,429
|
2 Diciembre 2012, 20:50 pm
por durasno
|
|
|
AYUDA! Desaparecen caracteres en mi juego C++
Programación C/C++
|
kyzo98
|
2
|
2,351
|
28 Febrero 2015, 12:52 pm
por kyzo98
|
|
|
[?][C]como combinar o sumar dos caracteres en lenguaje C?
Programación C/C++
|
remphenter
|
2
|
3,903
|
5 Noviembre 2015, 05:43 am
por remphenter
|
|