Ir para conteúdo
Fórum Script Brasil
  • 0

Combinação de caracteres


gleury

Pergunta

Como posso fazer uma combinação de caracteres em delphi, por exemplo:

quero fazer um combinação entre as 26 letras do alfabeto que dar mais ou menos 450.000 combinações, tanto que seja de 4 algarismo(dígitos).

algo assim.

AAAA

AAAB

.

.

.

AAAZ

AABA

AABB

AABC

.

.

.

AABZ

AACA

AACB

AACC

.

.

.

AACZ

AADA

.

.

.

.

.

.

.

.

.

ZZZY

ZZZZ

ou seja, a combinação sempre irá começa de AAAA até ZZZZ caso seja de 4 digitos. caso seja de 5 digito irá começa de AAAAA até ZZZZZ assim sucivamente, será otimo inserir um edit para receber a quatidade de digitos. para mostra o resultado, pode ser em um listbox.

e por curiosidade, gostaria de saber como seria um combinação dessa 26 letras do alfabeto começando de A e indo até ZZZZZZZZZ... infinito.

Obrigado.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Vi que voce procurou a resposta em outros foruns, e parece que não obteve a sua resposta.

No entanto é uma coisa bem simples

exemplo:

procedure TForm1.Button1Click(Sender: TObject);
const
  C='ABC';
var
  I, J, K: Integer;
begin
  for I := 1 to length(c) do
    for J := 1 to length(c) do
      for K := 1 to length(c) do
         Memo1.Lines.Add( C[I]+C[J]+C[K] );
end;
o resultado para 3 letras seria:
AAA AAB AAC ABA ABB ABC ACA ACB ACC BAA BAB BAC BBA BBB BBC BCA BCB BCC CAA CAB CAC CBA CBB CBC CCA CCB CCC
OBS: para cada letra a mais que voce colocar na constante, voce inclui um novo FOR e acrescenta no memo exemplo:
procedure TForm1.Button1Click(Sender: TObject);
const
  C='ABCD';
var
  I, J, K, L: Integer;
begin
  for I := 1 to length(c) do
    for J := 1 to length(c) do
      for K := 1 to length(c) do
         for L := 1 to length(c) do
             Memo1.Lines.Add( C[I]+C[J]+C[K]+C[L]);
end;

o resultado para 4 letras seria:

AAAA

AAAB

AAAC

AAAD

AABA

AABB

AABC

AABD

AACA

AACB

AACC

AACD

AADA

AADB

AADC

AADD

ABAA

ABAB

ABAC

ABAD

ABBA

ABBB

ABBC

ABBD

ABCA

ABCB

ABCC

ABCD

ABDA

ABDB

ABDC

ABDD

ACAA

ACAB

ACAC

ACAD

ACBA

ACBB

ACBC

ACBD

ACCA

ACCB

ACCC

ACCD

ACDA

ACDB

ACDC

ACDD

ADAA

ADAB

ADAC

ADAD

ADBA

ADBB

ADBC

ADBD

ADCA

ADCB

ADCC

ADCD

ADDA

ADDB

ADDC

ADDD

BAAA

BAAB

BAAC

BAAD

BABA

BABB

BABC

BABD

BACA

BACB

BACC

BACD

BADA

BADB

BADC

BADD

BBAA

BBAB

BBAC

BBAD

BBBA

BBBB

BBBC

BBBD

BBCA

BBCB

BBCC

BBCD

BBDA

BBDB

BBDC

BBDD

BCAA

BCAB

BCAC

BCAD

BCBA

BCBB

BCBC

BCBD

BCCA

BCCB

BCCC

BCCD

BCDA

BCDB

BCDC

BCDD

BDAA

BDAB

BDAC

BDAD

BDBA

BDBB

BDBC

BDBD

BDCA

BDCB

BDCC

BDCD

BDDA

BDDB

BDDC

BDDD

CAAA

CAAB

CAAC

CAAD

CABA

CABB

CABC

CABD

CACA

CACB

CACC

CACD

CADA

CADB

CADC

CADD

CBAA

CBAB

CBAC

CBAD

CBBA

CBBB

CBBC

CBBD

CBCA

CBCB

CBCC

CBCD

CBDA

CBDB

CBDC

CBDD

CCAA

CCAB

CCAC

CCAD

CCBA

CCBB

CCBC

CCBD

CCCA

CCCB

CCCC

CCCD

CCDA

CCDB

CCDC

CCDD

CDAA

CDAB

CDAC

CDAD

CDBA

CDBB

CDBC

CDBD

CDCA

CDCB

CDCC

CDCD

CDDA

CDDB

CDDC

CDDD

DAAA

DAAB

DAAC

DAAD

DABA

DABB

DABC

DABD

DACA

DACB

DACC

DACD

DADA

DADB

DADC

DADD

DBAA

DBAB

DBAC

DBAD

DBBA

DBBB

DBBC

DBBD

DBCA

DBCB

DBCC

DBCD

DBDA

DBDB

DBDC

DBDD

DCAA

DCAB

DCAC

DCAD

DCBA

DCBB

DCBC

DCBD

DCCA

DCCB

DCCC

DCCD

DCDA

DCDB

DCDC

DCDD

DDAA

DDAB

DDAC

DDAD

DDBA

DDBB

DDBC

DDBD

DDCA

DDCB

DDCC

DDCD

DDDA

DDDB

DDDC

DDDD

abraço

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...