Anagramas

Publicado por Enzo de Brito Ferber 16/01/2009 (última atualização em 20/04/2015)

[ Hits: 23.060 ]

Homepage: http://www.maximasonorizacao.com.br

Download anagrammer.c

Download anagram.c (versão 2)




Programa que gera todos os anagramas possíveis com uma determinada string (todos os caracteres são aceitos).

O código do programa, assim como a maioria de seus comentários, está em inglês, mas acho que isso não será problema. Qualquer dúvida é só mandar um e-mail para mim. (o endereço está no cabeçalho do arquivo).

Happy programming!

  



Versões atualizadas deste script

Versão 2 - Enviado por Enzo de Brito Ferber em 16/04/2015

Changelog: O código antigo além de muito grande, não tinha uma boa performance.

Reduzi a função para gerar os anagramas a pouco menos de 20 linhas. Performance ótima e dentro do esperado O(n!), sem os desperdícios do código atual com inúmeras funções, máscaras e afins.

O algoritmo é recursivo (mas é simples):

1. Um loop através de toda a string.
2. A cada iteração do loop, o primeiro caractere da string será substituído pelo caractere i.
3. Chama-se a função novamente na substring (string original menos o primeiro caractere)
4. Ir para o passo 1.

Quando a função retorna, restaura-se o caractere trocado para que a próxima interação do loop seja feita corretamente.

O anagrama atual é armazenado em uma string global.

Download anagram.c


Esconder código-fonte

Código extenso.

Scripts recomendados

[C] Números Racionais

Gerador de CPF em C++

Ponteiros

Alocando espaço para uma matriz dinamicamente

A - Comando strchr


  

Comentários
[1] Comentário enviado por kamushadenes em 18/01/2009 - 15:32h

Não consigo fazer o download, clico e nada acontece. E pelo wget recebo 403

[2] Comentário enviado por EnzoFerber em 18/01/2009 - 17:46h

Opa, e ai velho, eu fiz o download tranquilo de vários computadores diferentes... :S
Não sei o que pode ser, me passa seu email que te mando o code.

[]'s
Slackware_10

[3] Comentário enviado por kamushadenes em 19/01/2009 - 18:45h

kamushadenes@gmail.com
valeu amigo

[4] Comentário enviado por kamushadenes em 19/01/2009 - 18:49h

ae amigo, acabei de ver aqui que não consigo fazer nenhum download pelo VOL =/

[5] Comentário enviado por pedrotscom em 07/12/2015 - 17:50h

Bom dia Enzo de Brito Ferber, não consigo compilar nenhum desse códigos no Code Blocks. Como faço?

[6] Comentário enviado por EnzoFerber em 09/12/2015 - 07:40h


[5] Comentário enviado por pedrotscom em 07/12/2015 - 17:50h

Bom dia Enzo de Brito Ferber, não consigo compilar nenhum desse códigos no Code Blocks. Como faço?


Quais erros?
Ou compila e você não consegue executar?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts