Quais são alguns dos programas em C mais incríveis?
Eu acho que o jogo "Guess Animal" é um bom jogo - requer que você construa uma árvore binária - e faça um pouco de manipulação de texto e alocação dinâmica de memória.
Existe uma versão online aqui: O Jogo Animal
A ideia é que as pessoas pensem num animal - QUALQUER animal - e o computador tente adivinhá-lo. O programa tem uma árvore binária com perguntas em cada nó - e os nomes dos animais nas 'folhas' da árvore. Atravessando a árvore fazendo as perguntas nos nós leva você à melhor resposta que o computador tem.
Até aqui, bastante simples.
Mas aqui está a parte inteligente: Quando o computador não conhece o seu animal - pede-lhe para lhe fazer uma nova pergunta que distinguirá entre o animal que adivinhou e o animal em que estava a pensar. Quando você entra na sua pergunta, o computador substitui o nó da folha com o palpite incorreto nele por um novo nó de ramo que contém sua pergunta, seu novo animal, e o palpite incorreto.
Na próxima vez que alguém pensar no mesmo animal que você, o computador fará sua pergunta - e obterá a resposta certa na próxima vez.
Se você salvar a árvore binária em disco no final de cada rodada, e carregá-la de volta na próxima vez que você jogar - ele vai gradualmente construir uma base de dados de animais... e se você deixar as pessoas jogá-lo por apenas 20 minutos cada - ele vai se tornar rapidamente imbatível!
É um bom exemplo de um programa que aprende - e uma vez que ele tem um conjunto decente de animais para trabalhar, é MUITO impressionante!
O que é ainda melhor é que ele se auto-correge. Então se alguém comete um erro porque pensa que as girafas têm chifres (não são chifres, são "ossicones") - então assim que alguém que sabe disso pensa em uma girafa, o computador adiciona "girafa" duas vezes - uma vez como um animal com chifres - e outra vez como um animal que não tem chifres.