Duvidas na logica!

dae galera

Nao to conseguindo resolver um problema… que é o seguinte

eu tenho uma string , e preciso fazendo um deslocamento de caracteres, criar uma frase com essas string, mas nao consigo achar essa lógica !

por exemplo eu tenho a string:
_RFHCXHPCFUHGMXRCGHCPHMRCSRQXRCQDCSVRAMPDCSUR_D

conta 22 letras do alfabeto.

e fazendo o deslocamento dos caracteres, eu preciso criar uma frase…

alguem pode me ajudar ?

ninguem ?!

Vc ker a partir de uma String aleatoria formar uma frase? :?
Explique melhor o seu problema…
:wink:

é o seguinte

eu tenho a string

_RFHCXHPCFUHGMXRCGHCPHMRCSRQXRCQDCSVRAMPDCSUR_D

tem uma frase escondida nela, que eu consigo achar, deslocando de uma certa forma os caracteres

tenho que fazer um algoritmo que substitua o caractere proximo, pelo anterior e assims sucessivamente ate forma a frase… mas nao consigo de jeito nenhum…

é dificil de entender mesmo :?

Você não sabe qual a frase escondida?

não sei =(

eh meu caro, aih complica mesmo
Tem umas 1209837102987312 combinações pra testar…
:frowning:

Antes de mais nada, voce precisa de:

  • Um dicionario carregado na memoria
  • Um bom algoritmo de pesquisa (nao sei qual mais se aplica nesse caso)
  • Ter comecado a fazer a licao de casa antes :slight_smile:

eh meu caro, aih complica mesmo
Tem umas 1209837102987312 combinações pra testar…
:frowning: [/quote]

exatamente, o algoritmo tem que testar as 18273617826312 combinacoes ate achar

[quote=cv]Antes de mais nada, voce precisa de:

  • Um dicionario carregado na memoria
  • Um bom algoritmo de pesquisa (nao sei qual mais se aplica nesse caso)
  • Ter comecado a fazer a licao de casa antes :)[/quote]

concordo, comecei a licao de casa tarde :oops:

por exemplo.

tenho a string POACIC

quero um algoritmo que fique substituindo os caracteres até achar a palavra PIPOCA

é meio dificil de explicar o que eu to tentando fazer

Isso não é parecido com a “Caesar’s Cipher”?

Basicamente é assim: você tem uma frase

GUJ - O MAIOR FORUM JAVA DO BRASIL

Vamos substituir cada letra pela próxima do alfabeto: G -> H, U -> V etc.

HVK!.!P!NBJPS!GPSVN!KBWB!EP!CSBTJK

A idéia é automatizar esse processo, para que você possa mostrar todas as combinações (ou seja, pular uma letra: G -> H, pular duas: G -> I etc.) até chegar a algo que seja razoável.

Nao, nao eh uma cifra de cesar, thingol, eh um anagrama, mesmo. O exemplo que o William deu tava errado :stuck_out_tongue:

Por exemplo, se vc rearranjar as letras de “END IS A CAR SPIN” voce pode encontrar “PRINCESS DIANA” :slight_smile:

Tinha um programinha no linux q fazia isso, mas faz tempo que eu nao brinco com ele. Vou tentar achar e dou um toque.

Ih, essa lição de casa de anagramas é velha…
No meu tempo o pessoal já dava para fazer em Pascal.
Tinha uns loucos que conseguiram fazer em Fortran essa lição de casa.

cv, é algo assim mesmo, com o detalhe de que por ex: a quantidades de caracteres A, nao é necessaria mente a mesma… segue o exemplo da pipoca…

palavra PIPOCA

string embaralhada CAPIIO (nao possui dois “P” , e sim dois “I”) mas,

com essas letras CAPIO, ja consigo montar a palavra PIPOCA

poxa to me quebrando pra fazer desde ontem… =(

desde já, agradeço a ajuda

Você precisa de uma lista de palavras?

http://www.ime.usp.br/~ueda/br.ispell/br.ispell-2.4.tar.gz

é uma lista dessas (abra com o Winzip, ou então com tar xvfz br.ispell-2.4.tar.gz.) Ele vai ter um arquivo E.ispell que é uma lista bastante grande de palavras em português (mas sem os verbos), e um arquivo verbos (com os verbos).

Você precisa “limpar” essas listas antes de usar em seu programa.
Ou então, se tiver acesso ao Linux, use o comando

make palavras

para gerar a lista de todas as palavras (verbos conjugados, palavras no singular, plural, masculino e feminino etc.). Acho que é mais fácil usar o “make palavras”.