- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
long Date :: ConvertToDays()
{
int M=0,Y=0;
for(int i=2;i<=m_Year;i++)
{
if((i%4 == 0) && (i%100 !=0) || (i%400==0))Y+=366;
else Y+=365;
}
for(i=2;i<=m_Month;i++){
if (i == 1)M=0;else
if ((((m_Year%4 == 0) && (m_Year%100 !=0) || (m_Year%400==0)) && (i == 3)))M+=29;else
if ((((m_Year%4 != 0) || ((m_Year%100 ==0) && (m_Year%400 !=0))) && (i == 3)))M+=28;else
if ((i == 2) || (i == 4) || (i == 6) || (i == 8) || (i == 9) || (i == 11))M+=31;else
if ((i == 5) || (i == 7) || (i == 10) || (i == 12))M+=30;
}
return m_Day+M+Y;
}
andremacareno 14.11.2010 12:47 # 0
psina-from-ua 14.11.2010 12:50 # 0
absolut 14.11.2010 13:02 # 0
Не понятно почему цикл с двойки начинается. Нулевого года н.э. не было, но первый то был.
bugmenot 14.11.2010 14:43 # 0
Oleg_quadro 15.11.2010 03:24 # 0
bugmenot 15.11.2010 04:02 # +1
sanchousf 16.11.2010 19:31 # +1
Потому что
int M=0,Y=0;
...
if (i == 1) M=0; else
Автор решил пропустить бесполезную строку, но забыл удалить её
absolut 16.11.2010 23:16 # 0
Govnoeb 14.11.2010 13:20 # 0
КГ/АМ
ctm 14.11.2010 14:30 # +2
for(i=2;i<=m_Month;i++){
if (i == 1)M=0;else
задача для 1-го курса, 1-й лабы, как разминочная. не более.
Govnocoder#0xFF 14.11.2010 15:40 # −2
Oleg_quadro 15.11.2010 13:44 # 0
if (i == 1)M=0;else
)
andremacareno 17.11.2010 10:57 # −1
absolut 17.11.2010 11:14 # 0
С википедии :
andremacareno 17.11.2010 11:59 # 0
absolut 17.11.2010 12:12 # 0
bugmenot 17.11.2010 12:15 # 0
absolut 17.11.2010 12:16 # +1
andremacareno 19.11.2010 22:56 # 0
Oleg_quadro 22.11.2010 01:32 # 0
Так что до этой даты високосным годом был тот, который просто делился на 4.
absolut 22.11.2010 22:26 # +1