Árvore AVL, usando arquivos para armazenamento de dados
Esta arvore foi implementada usando o conceito de TAD, por isso foram criados três arquivos: Obs.: eu deixei comentários nas linhas mais importantes desta implementação. avl-tree.h - nela estão contidos a estrutura da árvore e os protótipos de todas funções que foram usadas no programa. avl-tree.c - nela está contida a elaboração de todas as funções implementadas neste programa. avl-treeexecucao.c - nela está a função principal para a compilação de todo o programa. Os códigos fora elaborados, somente para serem compilados no Dev-C++: http://sourceforge.net/projects/dev-cpp/ Todos os códigos devem estar salvos na mesma pasta para o seu funcionamento.
Por: Marcos Augusto
Jantar dos Filósofos - Programação Paralela
Um programa concorrente especifica dois ou mais processos concorrentes, onde cada um executa um programa sequencial. Tais processos interagem por meio da comunicação, o que traz a necessidade de sincronização. O problema de sincronização mais conhecido é o do "Jantar dos Filósofos". Ele foi proposto por Dijkstra (1965) como um problema clássico de sincronização e possui a seguinte situação: 1) Cinco filósofos estão sentados ao redor de uma mesa circular para o jantar. 2) Cada filósofo possui um prato para comer macarrão. 3) Os filósofos dispõem de hashis e e cada um precisa de 2 hashis para comer. 4) Entre cada par de pratos existe apenas um hashi: Hashis precisam ser compartilhados de forma sincronizada. 5) Os filósofos comem e pensam, alternadamente. Eles não se atém a apenas uma das tarefas. 6) Além disso, quando comem, pegam apenas um hashi por vez: Se conseguir pegar os dois come por alguns instantes e depois larga os hashis. O problema é coordenar o uso dos hashi de maneira que nenhum filósofo fique com fome. Esse problema exemplifica muito bem muitas soluções e muitos problemas encontrados na programação concorrente. Pode facilmente ocorrer o deadlock se cada filósofo pegar o seu hashi da esquerda e se recusar a liberá-lo até ter comido. Pode ocorrer a inanição se dois filósofos conspirarem contra um terceiro. Na solução dada abaixo, é livre de impasse e permite o máximo paralelismo a uma número arbitrário de filósofos. Ela usa um arranjo de estado para controlar se um filsofo está comendo, pensando ou faminto. Um filósofo só pode mudar comer se nenhum de seus vizinhos estiverem comendo. O programa utiliza um arranjo de semáforos, um por filósofo, assim o filósofos famintos podem ser bloqueados se os garfos necessários estiverem ocupados. Comando para compilar no GCC: $ gcc -o jantar_dos_filosofos.o jantar_dos_filosofos.c -pthread Bom estudo.
Por: Uilian Ries
Jogo de 21 em C
Este é um exemplo de como fazer o jogo de 21 em C. A estrutura e procedimentos podem ser usados também para fazer o jogo de truco ou algum outro. Os procedimentos foram implementados usando a estrutura de dados pilha. Divirtam-se
Por: Tiago Alves de Oliveira
Ejetor
Código que tem a função do eject cdrom, mas ele só faz o CD-ROM voltar, e não sair.
Por: Lord Arthas Menethil
4 EP - Poli USP - LIG4 (LigK)
Um joguinho básico do popular LIG4, distribuído no Brasil pela Estrela. O jogo salva partidas, carrega. Tem a opção de jogar contra o computador. Ainda é possível escolher um "k" para o Lig, por exemplo, Lig5, Lig6, até Lig9.
Por: João Matheus Rugeri Murdiga
3 EP - Poli USP - Angry Birds (angry bixos)
Trabalho da disciplina "MAC2166" - Exercício programa contendo uma ideia do funcionamento do jogo "Angry Birds", obviamente muito menos complexo. Obs: Necessário o arquivo "Entrada.txt" para o carregamento de dados relativos a distância, velocidade máxima, altura, tamanho do alvo...
Por: João Matheus Rugeri Murdiga
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta