[OFF] - DESAFIO

USUARIO.EXCLUIDOS 09/08/2007 11:08:20
#230163
Galera,

Fiz um teste em uma empresa a um tempo atrás, uma grande instituição financeiro do País e uma das maiores do Mundo.

Na prova, tinha um exercício que me chamou bem a atenção, foi difícil de resolver!

Então venho até aqui postar este desafio pra galera, pra ver as soluções que o pessoal aí vai achar, creio que devem existir N maneiras de fazer...

lá vai...


Faça uma rotina para ordenar todas as letras de uma palavra, em ordem alfabética, em uma caixa de texto. Deve existir uma caixa de texto também para a entrada da palavra que deve ser ordenada.


Depois postem aí suas rotinas.
USUARIO.EXCLUIDOS 09/08/2007 11:52:26
#230174
eu pego corto por letra

jogo em um list do um sorted no list

e remonto a palavra com for

XD


MORDOR 09/08/2007 11:57:31
#230177
Citação:

MILTONBARRETOS escreveu:
eu pego corto por letra

jogo em um list do um sorted no list

e remonto a palavra com for

XD




Hehe, é para uma prova, assim não vale. E se for um código que você não tem acesso a um listbox para ordenar? Tem que ser por algoritmo.
USUARIO.EXCLUIDOS 09/08/2007 11:58:56
#230178
é cara... nada de ListBox não... haha

trabalhar sem componentes, componentes só as duas caixas de texto mesmo.
USUARIO.EXCLUIDOS 09/08/2007 12:25:17
#230184


Viu e se tiver letra repetida na palavra qual o procedimento?
ANGELO 09/08/2007 12:38:32
#230193
Eu criaria um algoritimo baseado no Quicksort
Ja fiz isso.. é punk
USUARIO.EXCLUIDOS 09/08/2007 12:40:39
#230195
eu sei to zuando gente

eu vo tenta monta aqui
USUARIO.EXCLUIDOS 09/08/2007 12:47:34
#230197
Fiz em 20 minutos, Segue solução:

Entrada: Textbox de nome txtEntrada.Text
Saida: Textbox de nome txtSaida.Text
Comando: Executa Troca de Letras (ordem alfabética) cmdTroca

Usuário digita: ROBERTO em txtEntrada
Clica no botão de comando para executar a troca de letras
Rotina do botão de comando:

Private Sub cmdTroca_Click()
If txtEntrada="" Then
Exit Sub
End If
txtSaida = txtEntrada // Faz Saida Igual a Entrada
If Len(txtSaida.Text) = 1 Then
Exit Sub
End If
Dim i as Integer // Contador de Posicao
Dim Letra_A as String // Letra Anterior
Dim Letra_C as String // Letra Corrente
i = 2
Do While Len(txtSaida.Text) >= i
Letra_A = Mid(txtSaida.Text, i-1, 1)
Letra_C = Mid(txtSaida.Text, i, 1)
If Letra_C < Letra_A Then
txtSaida.Text = Left(txtSaida.Text, i-2) & _
mid(txtSaida.Text, i, 1) & _
mid(txtSaida.Text, i-1, 1)
If i > 2 Then
i = i - 1
End If
Else
i = i + 1
End If
Wend

End Sub

USUARIO.EXCLUIDOS 09/08/2007 12:57:49
#230202


AKI N FUNFOU N!! Q SERÁ?
USUARIO.EXCLUIDOS 09/08/2007 13:05:44
#230203
Citação:

Viu e se tiver letra repetida na palavra qual o procedimento?



Ex.: Palavra Teste.
Deve ficar assim eestt.
Entendeu?? letra repitida tem que ficar em ordem.



ROBERTOMARQUES,
Aqui tb num funcionou naum! hehe
mais passou perto.



Eu fiz um aqui que funcionou, depois que alguém postar algo que funcione perfeitamente, eu posto meu código pra vcs testarem tb.
USUARIO.EXCLUIDOS 09/08/2007 13:51:32
#230224

Bom como possuem N possibilidades...aí vai a minha..e detalhe F U N C I O N A ...AHUAHAU..pelo menos aki...

Dim OC(26) As String
Dim OJ(26) As String

OC(1) = "a1"
OC(2) = "b2"
OC(3) = "c3"
OC(4) = "d4"
OC(5) = "e5"
OC(6) = "f6"
OC(7) = "g7"
OC(8) = "h8"
OC(9) = "i9"
OC(10) = "j10"
OC(11) = "k11"
OC(12) = "l12"
OC(13) = "m13"
OC(14) = "n14"
OC(15) = "o15"
OC(16) = "p16"
OC(17) = "q17"
OC(18) = "r18"
OC(19) = "s19"
OC(20) = "t20"
OC(21) = "u21"
OC(22) = "v22"
OC(23) = "w23"
OC(24) = "x24"
OC(25) = "y25"
OC(26) = "z26"

For x = 1 To Len(Text3)
Letra = LCase(Mid(Text3, x, 1))
For y = 1 To 26
If Letra = Left(OC(y), 1) Then
Numero = y
If OJ(Numero) <> "" Then
OJ(Numero) = OJ(Numero) & Letra
Else
OJ(Numero) = Letra
End If
GoTo Pula
End If
Next y
Pula:
Next x

For Tudo = 1 To 26
If OJ(Tudo) <> "" Then
Text4 = Text4 & OJ(Tudo)
End If

Next Tudo

End Sub

Eita nóis!!
Página 1 de 4 [39 registro(s)]
Tópico encerrado , respostas não são mais permitidas