Algorítimo - Dia da semana
Publicado por Ezequias Rocha (última atualização em 14/07/2011)
[ Hits: 10.132 ]
Download Dia_Da_Semana.c (versão 2)
Este algorítimo foi implementado em uma aplicação que, configurado uma dada data, seria necessário mostrar ao usuário o dia da semana. Trata-se de uma aplicação bastante conhecida e, particularmente, este algorítimo, é o mais utilizado.
Todavia, é necessário certas precauções no trato dos números, pois, no momento que o sistema trunca os decimais, erro podem surgir, principalmente nas divisões.
Mostro abaixo uma implementação que usa força bruta para evitar este erro.
Particularidades do algorítimo:
Autor: Christian Zeller (http://en.wikipedia.org/wiki/Christian_Zeller)
Calendário: Gregoriano (http://en.wikipedia.org/wiki/Gregorian_calendar)
Dias da semana: 0 = sábado, 1 = segunda-feira, 2 = terça-feira ...
Meses: janeiro e fevereiro são considerados meses 13 e 14 do ano anterior
Embraces!
Versão 2 - Enviado por Ezequias Rocha em 22/02/2011
Changelog: Erro na linha
y = ((mes>12) ? (ano-1) : ano);
Sendo substituída por:
y = ((m>12) ? (ano-1) : ano);
unsigned char DiaSemana (unsigned char dia, unsigned char mes, unsigned int ano) { unsigned int q, m, ret, y; m = (mes <3) ? (mes + 12) : mes; y = ((mes>12) ? (ano-1) : ano); q = (unsigned int)(dia) + (unsigned int)(((m+1)*26)/10) + y + // Calendário Gregoriano (unsigned int)(y/4) + 6*((unsigned int)(y/100)) +(unsigned int)(y/400); ret = (q % 7); return ((unsigned char)(ret)); }
Calcular determinante de matrizes
Crud em C++ orientado a objetos com banco de dados MySQL
SIMULADOR DE DADOS DE RPG - Baseado em Vampiro A Máscara - Alea Jacta Est ver2.0.1
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
O que você está ouvindo agora? [2] (212)
Debian 13 "trixie&... lançado! (43)
baschrc customizado pegeui vários. (1)
eu tive uma idéia, mas mais privada sobre o assunto de mu online e ser... (7)