Autor
|
Tema: Colocar letras (Leído 3,488 veces)
|
Neobius
Desconectado
Mensajes: 2.082
Viva Linux!
|
Hola, queria saber como puedo puedo programar un programa que ordene las letras del abecedario de todas las maneras posibles, es decirque tenga un boton y cuando le de un clic genere en un textbox todas la posibilidades. POr ejemplo: abcdefghijkllm........ asdfgqiwurlbkxmz...
|
|
|
En línea
|
Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo mismo. Albert Einstein Recuerda: El arca de Noe fue construida por aficionados, el titanic por profesionales http://neobius.blogspot.com
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
Bueno, te hice una partecita, ahora te keda terminar el code para que no c repitan las letras... es facil xD salu2 Private Sub Command1_Click() Dim Num As String Dim Cuenta As Byte Text1 = "" Math.Randomize Do While Not Cuenta = 26 Num = Int(Rnd * 26) Cuenta = Cuenta + 1 Select Case Num Case "0" Num = "A" Case "1" Num = "B" Case "2" Num = "C" Case "3" Num = "D" '... End Select Text1 = Text1 & Num Loop End Sub
G0nz4
|
|
|
En línea
|
|
|
|
xavierote
Desconectado
Mensajes: 134
|
Yo lo que haría con tu parte que has programado, sería en vez de utilizar un montón de comparaciones, sería crear una variable y meter ahí el abecedario, para luego sacar las letras por la función mid$(). Por ejemplo: Private Sub Command1_Click() Dim Num As String Dim Cuenta As Byte Dim Abecedario as String
Abecedario = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ" Text1 = "" Math.Randomize
Do While Not Cuenta = 26 Num = Int(Rnd * 26) Cuenta = Cuenta + 1 Num = Mid$(Abecedario, Num + 1, 1) ' La posición empieza por el valor 1, y no 0, por tanto, como el RND genera valores de 0 a 26, se le suma 1. Text1 = Text1 & Num Loop End Sub
También se podría utilizar la función Chr() para sacar también una letra del abecedario al azar. Pero eso ya es cuestión de imaginación. Saludos!!
|
|
« Última modificación: 3 Octubre 2005, 09:51 am por xavierote »
|
En línea
|
|
|
|
Slasher-K
Desconectado
Mensajes: 1.477
|
El siguiente código tiene 3 modalidades de ordenar las letras, ascendente, descendente y aleatorio. Option Explicit Option Base 1
Const SORT_ASC = 1 Const SORT_DES = 2 Const SORT_RAND = 3
Function SortAbc(SortMode As Integer) As String Dim iChar() As Byte Dim bExist As Boolean Dim i%, ind%, iRnd% Dim sData$
ReDim Preserve iChar(0 To (vbKeyZ - vbKeyA)) As Byte
Call Randomize(vbKeyZ)
For i = vbKeyA To vbKeyZ Select Case SortMode Case SORT_DES sData = sData & Chr$((vbKeyZ - i) + vbKeyA) Case SORT_ASC sData = sData & Chr$(i) Case SORT_RAND NewNum: iRnd = Rnd * vbKeyZ If iRnd < vbKeyA Then GoTo NewNum For ind = 1 To (vbKeyZ - vbKeyA) If iChar(ind) = iRnd Then bExist = True Exit For End If Next If ind >= 25 Then bExist = False If bExist Then GoTo NewNum iChar(i - vbKeyA) = iRnd sData = sData & Chr$(iChar(i - vbKeyA)) End Select Next
SortAbc = sData End Function
Saludos. EDIT: Sólo funciona en VB6 porque .NET no acepta los GoTo.
|
|
« Última modificación: 4 Octubre 2005, 09:13 am por .PoluX. »
|
En línea
|
A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
|
|
|
la caca
Desconectado
Mensajes: 60
CACA COLA
|
che para hacer lo que vos queres, es decir ordenar el abecedario de todas las formas posibles tenes que hacer 26! (26 factorial) es decir 26!=403291461126605635584000000 entonces tenes 403291461126605635584000000 formas pisbles de ordenar el abecedario yo usaria este algoritmo que programe: Dim x As Integer 'defino variables Dim u As Double
Private Sub command1_click() 'se necesita un command button x = Text1.Text 'defino a t como un text1 (que lo tenes que agregar y tiene que ser si o si un numero), para probarlo ponele de texto el numero 8 u = 1 ' defino a u como 1 For a = 1 To x 'digo que a va del numero 1 al numero que tiene el text1 u = u * a 'digo que u = u * el numero 1, 2, 3, 4, 5, 6, 7, 8 (si es que el text1 es 8), es decir multiplica a 8*7*6*5*4*3*2*1 (saca factorial) Next a Label1.Caption = u 'ahora el label vale el valor de u (el factorial del numero que esta en text1), tenes que agregar un label. 'listo todo listo una masasa End Sub
P.D.: programar un programa (es dificil programar un arbol jejejjeje)
|
|
|
En línea
|
algo huele mal.... firma "LA CACA"
|
|
|
_Sergi_
Desconectado
Mensajes: 842
|
Citar programar un programa (es dificil programar un arbol jejejjeje) xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD!!
|
|
|
En línea
|
Proyecto de Ingeniero
|
|
|
|
|