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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Colocar letras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Colocar letras  (Leído 3,488 veces)
Neobius


Desconectado Desconectado

Mensajes: 2.082


Viva Linux!


Ver Perfil
Colocar letras
« en: 2 Octubre 2005, 19:58 pm »

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 Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: Colocar letras
« Respuesta #1 en: 2 Octubre 2005, 23:52 pm »

Bueno, te hice una partecita, ahora te keda terminar el code para que no c repitan las letras... es facil xD

salu2

Código:
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 Desconectado

Mensajes: 134


Ver Perfil
Re: Colocar letras
« Respuesta #2 en: 3 Octubre 2005, 09:49 am »

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:

Código:
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 Desconectado

Mensajes: 1.477


Ver Perfil
Re: Colocar letras
« Respuesta #3 en: 4 Octubre 2005, 09:11 am »

El siguiente código tiene 3 modalidades de ordenar las letras, ascendente, descendente y aleatorio.

Código:
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 Desconectado

Mensajes: 60


CACA COLA


Ver Perfil
Re: Colocar letras
« Respuesta #4 en: 7 Octubre 2005, 19:09 pm »

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  :o  :o  :o  :o

yo usaria este algoritmo que programe:

Código:
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.:
Citar
programar un programa
  (es dificil programar un arbol jejejjeje)
En línea

algo huele mal.... firma "LA CACA"

_Sergi_


Desconectado Desconectado

Mensajes: 842



Ver Perfil
Re: Colocar letras
« Respuesta #5 en: 8 Octubre 2005, 01:27 am »

Citar
Citar
programar un programa
  (es dificil programar un arbol jejejjeje)

xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD!!
En línea

Proyecto de Ingeniero
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Colocar emoticiones en una chat.
Java
green2593 2 1,525 Último mensaje 24 Julio 2013, 19:00 pm
por 1mpuls0
colocar la ip
PHP
CancerNegro 3 2,212 Último mensaje 27 Junio 2014, 13:16 pm
por CancerNegro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines