Mam takie zadanie w js:
Napisz program który będzie wczytywał rok, miesiąc dzień. Jako wynik będzie zwracał dzień tygodnia.
dzień tygodnia = ([23m/9] + d + 4 + y + [z/4] + [z/100] + [z/400] - c) mod 7
gdzie:
[ ] oznacza część całkowitą liczby
mod – funkcja modulo (reszta z dzielenia)
m – numer miesiąca (ang. month) (od stycznia = 1 do grudnia = 12)
d – numer dnia (ang. day) miesiąca
y – rok (ang. year)
z – rok z poprawką: z = y - 1 jeżeli m < 3; z = y, jeżeli m >= 3
c – korekta (ang. correction): c = 0, jeżeli m < 3; c = 2, jeżeli m >= 3
dni tygodnia ze zbioru {0, 1, 2, 3, 4, 5, 6},
gdzie: 0 – wtorek, 1 – środa, 2 – czwartek, 3 – piątek, 4 – sobota, 5 – niedziela, 6 – poniedziałek
Napisałem następujący kod i nie mogę dopatrzeć się błędu, który popełniłem, bo funkcja nie zwraca takiego dnia, jaki powinna
function oblicz()
{
var d=document.getElementById("dzien").value;
var m=document.getElementById("miesiac").value;
var y=document.getElementById("rok").value;
var z;
var c;
if(m<3)
{
z=y-1;
c=0;
}
else if(m>=3)
{
z=y;
c=2;
}
else
{
window.alert("Mamy tylko 12 miesiecy!");
}
var dzien_tygodnia=(([23*m/9]+d+4+y+[z/4]+[z/100]+[z/400]-c)%7);
var tydzien =[ "wtorek", "sroda", "czwartek", "piatek", "sobota", "niedziela","poniedziałek"];
document.getElementById("wynik").innerHTML="Dzień tygodnia dla daty: "+d+"."+m+"."+y+"r. to "+tydzien[dzien_tygodnia];
}
Bedę wdzięczny za każdą wskazówkę