Program w c liczacy ilosc dni
-
- Użytkownik
- Posty: 6
- Rejestracja: 20 paź 2008, o 18:18
- Płeć: Mężczyzna
- Lokalizacja: wrocław
- Pomógł: 1 raz
Program w c liczacy ilosc dni
Mam problem. Musze napisac program w c, ktory poprosi o wpisanie daty urodzin, daty dzisiejszej, i policzy ile dokladnie minelo dni. Oczywiscie biorąc pod uwagę rok przestępny. Mam juz program ktory prosi o wpisanie, dzien, miesiac, rok urodzenia, a także dzien, miesiac, rok jaki jest teraz. Ale nie wiem jak napisac zeby liczył ilość dni z gory dziekuje za pomoc
Program w c liczacy ilosc dni
Liczysz ile było pełnych lat, potem liczysz ile było przestępnych (warunek znajdziesz na Wikipedii), dodaje tą liczbę do liczby pełnych lat razy 365, potem już tylko musisz rozpatrzeć ile było dni w tych niepełnych latach.
-
- Użytkownik
- Posty: 6
- Rejestracja: 20 paź 2008, o 18:18
- Płeć: Mężczyzna
- Lokalizacja: wrocław
- Pomógł: 1 raz
Program w c liczacy ilosc dni
ok to rozumiem, ale powiedzmy od 6 czerwca 1980 do dzisiaj nie minely tylko 29 lat, tylko minely 29 lata (do 6 czerwca 2009) i 154 dni od 6 czerwca 2009 do dzisiaj wiec razem 10747 a wedlug ciebie 10593. nie wiem jak zdefiniowac zeby liczyl wlasnie te dni od wlasnie np 6 czerwca 2009 do dzisiaj bo pelne lata to wiem. oczywiscie w obliczeniach wzialem pod uwage lata przestepne
Program w c liczacy ilosc dni
Obliczasz liczbę dni w roku startowym i roku końcowym, z tym że raz liczysz od jednej strony, drugi raz z drugiej. Stwórz sobie tablicę z liczbą dni w miesiącu. Wtedy w roku startowym masz (d-podany dzień, m-podany miesiąc) tab[m]-d+tab[m+1]+...+tab[12]. Oczywiście to zliczasz sobie w pętli razem z uwzględnieniem tego czy dany rok jest przestępny jeśli wliczamy luty. Podobnie w roku końcowym tab[1]+tab[2]+...+tab[m-1]+d.
Oczywiście tutaj użyłem numeracji od 1 żeby nie było wątpliwości.
Dodatkowo jeśli chcesz wliczane dni początkowo i końcowe musisz dodać 2.
Oczywiście tutaj użyłem numeracji od 1 żeby nie było wątpliwości.
Dodatkowo jeśli chcesz wliczane dni początkowo i końcowe musisz dodać 2.
-
- Użytkownik
- Posty: 6
- Rejestracja: 20 paź 2008, o 18:18
- Płeć: Mężczyzna
- Lokalizacja: wrocław
- Pomógł: 1 raz
Program w c liczacy ilosc dni
bylbys w stanie mi to jakos napisac w c?? tak ogolnikowo. chodzi o sama funckje i petle zliczajaca wszystkie roki ktore sa przestepne i to jak obliczyc te dni od pelnych lat do dnia dzisiejszego
Program w c liczacy ilosc dni
powiedzmy że mamy dane już
pd - dzień początkowego roku
pm - miesiąc początkowego roku
pr - początkowy rok
analogicznie
kd,km,kr
Wtedy, pełne lata
W tych latach musimy policzyć lata przestępne. Powiedzmy, że już policzyliśmy i mamy tą liczbę w
LP
Mamy tablice
Zliczamy z roku początkowego
Zliczamy z końca
Na koniec liczba dni to
pd - dzień początkowego roku
pm - miesiąc początkowego roku
pr - początkowy rok
analogicznie
kd,km,kr
Wtedy, pełne lata
Kod: Zaznacz cały
L=kr-pr-2
LP
Mamy tablice
Kod: Zaznacz cały
mies = {31,28,31,30,31,30,31,31,30,31,30,31}
Kod: Zaznacz cały
s1=0;
for(m=pm;m<12;m++) {
s1+=mies[m-1];
if(m=1 && warunek na przestępność roku pr) { s1+=1; };
}
s1-=pd;
Kod: Zaznacz cały
s2=0;
for(m=1;m<km;m++) {
s2+=mies[m-1];
if(m=1 && warunek na przestępność roku kr) { s2+=1; };
}
s2+=kd;
Kod: Zaznacz cały
nod=365*L+LP+s1+s2+(2);