Pilhas C/C++ - Analisador de expressões simples

Algoritmo em pilhas que verifica se parênteses, colchetes e chaves foram fechados corretamente.

Por: Diego Furtado


Jogo Micro Breakout

Mais um joguinho meu, um breakout simples. Controles: --botão espaço inicia o jogo --seta esquerda/direita controlam o paddle --botão escape termina o jogo Acompanha uma versão pré-compilada (como sempre) Para compilar: $ gcc -o breakout breakout.c -lSDL Para executar: $ ./breakout Valeu!

Por: Samuel Leonardo


Fibbonacci com Memoization - O(n)

Visto que rolou uma brincadeira de otimização do código que encontra um número de fibonacci aqui (http://www.vivaolinux.com.br/script/Sequencia-fibonacci-com-35-linhas-e-for), resolvi mostrar uma técnica legal para se ter um desempenho muito superior. A brincadeira do pessoal era em relação ao menor número de linhas. Porém, o que quero mostrar aqui é o desempenho de execução. Vejam a diferença: Código cedido pelo thiagodorneles com algumas modificações: #include long int fibo(int n) { return ((n<2)?1:(fibo(n-2)+fibo(n-1))); } int main(int argc, char **argv) { int v = atoi(argv[1], 10); long int r = 0; r = fibo(v); printf("Resultado fibonacci: %ld\n",r); } Comparação de tempo de execução entre o meu código e o do Thiago: [email protected]:~/fibo$ time ./fibo_daniel 40 Fibonacci[40] = 165580141 real 0m0.025s user 0m0.000s sys 0m0.024s [email protected]:~/fibo$ time ./fibo_thiago 40 Resultado fibonacci: 165580141 real 0m5.548s user 0m5.380s sys 0m0.028s Quem quiser fazer o teste, fique a vontade. A idéia da técnica de memorization é guardar os valores já calculados para evitar recálculo. Este é uma das bases da programação dinâmica. ;) Bom estudo a todos, Daniel

Por: Daniel Gimenes


Ordenar sequência de números

Este script em C organiza sequências de números de forma crescente ou decrescente. Finalmente comecei a me divertir escrevendo códigos-fonte interessantes. A sequência pode ter quantos elementos o usuário quiser para o mesmo código-fonte, estando limitado apenas pelo computador. São 48 linhas que usam "for, do...while, vetores, etc".

Por: Vinícius dos Santos Oliveira


S. MarioBros - Editor de fase 0.1

Editor de fase para um futuro clone do Super Mario Bros que estou implementando. Por enquanto está bem simples, mas brevemente irei aperfeiçoá-lo. Com ele você pode editar/criar um novo mapa. Aperte espaço para mudar o title e clique com o botão do mouse na janela que se abre para mudar as imagens. Como sempre, acompanha uma versão pré-compilada. Para compilar: $ gcc -o level_editor level_editor.c -lSDL Para executar: $ ./level_editor Vlw!!!

Por: Samuel Leonardo


Sistemas Numericos

Google Code Jam 2008 - America Latina Alien Numbers http://code.google.com/codejam/contest/dashboard?c=agdjb2RlamFtcg4LEghjb250ZXN0cxh5DA O objetivo do programa é converter uma mensagem em um sistema de numeração para outro. As linhas de entradas são da seguinte forma: mensagem sistema_mensagem outro_sistema Exemplo: ---------- Input: 65 0123456789 01 9 0123456789 oF8 Output: Case #1: 1000001 Case #2: Foo Happy coding!

Por: Enzo de Brito Ferber






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts