Results 1 to 6 of 6
Thread: Çàäà÷à íà Ñ++
Hybrid View
-
13th March 2009 19:08 #1
Çàäà÷à íà Ñ++
Èìàì åäíà çàäà÷à çà äîìàøíî è íåìîãà äà èçìèñëÿ êàê äà ÿ íàäðàçêàì
Ïîñëåäíî â ó÷èëèùå âçåõìå çà switch è çàäà÷àòà å îò êðàÿ íà óðîêà,à åòî ÿ è íåÿ:
Äà ñå ñúñòàâè ïðîãðàìà, êîÿòî ïî âúâåäåíà äàòà (äåí, ìåñåö, ãîäèíà) îïðåäåëÿ è èçâåæäà ñëåäâàùàòà äàòà.
Ïðèìåðè: 1 5 2007 -> 2 5 2007 , 28 2 2008 -> 29 2 2008 , 31 12 2006 -> 1 1 2007
Àêî ìîæå äà ìè ïîìîãíåòå äíåñ ùå ñúì âè ìíîãî áëàãîäàðåí
ïîíå íÿêàêâî ïðåäëîæåíèå íå öÿëàòà çàäà÷à.
| Biostar GF8200 M2+ | Athlon64x2 5200+ 2.7GHz | 2x2GB Buffalo 800MHz | Sapphire HD3650 512MB GDDR3 | 320GB HITACHI SATA2 7200rpm 16MB | 400W Fortron ATX-400PNR |
-
13th March 2009 19:40 #2
Öÿëîòî íåùî å äà íàïðàâèø åäèí ãîëÿì switch, îò âèäà
Çà ôåâðóàðè òðÿáâà äà âêàðàø ñïåöèàëåí case (çà äà îïðåäåëèø äàëè å âèñîêîñíà ãîäèíàòà, âèæ òóê: http://en.wikipedia.org/wiki/Leap_year#Algorithm )Code:switch (month) { case 1: case 3: ... daysInMonth = 31; break; case 4: case 6: ... daysInMonth = 30; break; ... };
Ñëåä êîåòî, ãëåäàø äàëè day + 1 íå òè íàäõâúðëÿ daysInMonth. Àêî äà, óâåëè÷àâàø ìåñåöà. Àêî ìåñåöà ñòàíå 13-òè - óâåëè÷àâàø ãîäèíàòà.Åòî òàêà ñå ïëîäÿò òå, êàçâàì ñè àç. Ïîä íîñà òè.
"640K îught to be enough for anybody" - Bill Gates, 1981
Òåñòîâå íà áàòåðèè::Machine specs::Fract::AGG::ÍåÑåÑúðäè×îâå÷å::Baileys::blog::YouTube channel
-
14th March 2009 21:19 #3
Íàñêðî ïðàâåõìå ïîäîáíî ,ñàìî ,÷å íå ñëåäâàùòà äàòà ,à ñëåä 7 äåíà ,ìèñëÿ ,÷å ùå ñå îïðàâèø äà ñìåíèø çà òâîÿ ñëó÷àé :
Code:int den; cin>>den; int mesec; cin>>mesec; int year; cin>>year; int dni=0; switch(mesec) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: dni=31; break; case 4 : case 6 : case 9 : case 11: dni=30; break; case 2: if((year%4==0 & year%100!=0) || (year%400==0)) dni=29; else dni=28; break; } den+=7; if(den>dni) { mesec+=1; if(mesec==13) { year+=1; mesec=1; den = den-dni; cout<<den<<"-"<<mesec<<"-"<<year; } else { den = den-dni; cout<<den<<"-"<<mesec<<"-"<<year; } } else { cout<<den<<"-"<<mesec<<"-"<<year; }
-
15th March 2009 12:16 #4
A çàùî íå ãè îáðúùàø äàòèòå â Þëèàíñêè ïî àëãîðèòúìà:
Ãîäèíàòà ñå çàäàâà ñ ïîñëåäíèòå äâå öèôðè, òàêà òðÿáâà äà ñè íàïðàâèø èíòåðïðåòàòîð äàëè íàïðèìåð '89 òè å 1989 èëè 2089Code:decimal JulDate(int mm, int dd, int yy) { /* JulDate(YY, MM, DD) = DD - 32075 + 1461 * (YY + 4800 + (MM-14) / 12) / 4 + 367 * (MM - 2 - ((MM - 14) / 12) * 12) / 12 - 3 * (( YY + 4900 + (MM - 14) / 12) / 100 / 4; êúäåòî: YY,MM,DD ñà ãîäèíà, ìåñåö äåí*/ decimal i, j, k, j2, ju; i = yy; j = mm; k = dd; j2 = (int)((j - 14) / 12); ju = k - 32075 + (int)(1461 * (i + 4800 + j2) / 4); ju = ju + (int)(367 * (j - 2 - j2 * 12) / 12); ju = ju - (int)(3 * (int)((i + 4900 + j2) / 100) / 4); return ju; }
, íî çà äà ïîëó÷èø ñëåäâàùàòà äàòà íå å îò çíà÷åíèå.
è ïîñëå îáðàòíàòà òðàíñôîðìàöèÿ:
êàòî íà âòîðàòà ô-öèÿ ïîäàâàø jd ïîëó÷åí îò ïúðâàòà +/- êîëêîòî äíè ñè èñêàø íàïðåä íàçàä.Code:JultoDate(decimal jd, out int mm, out int dd, out int yy) { /* òóê ñå îáðúùà Þëèàíñêà äàòà êúì ñòàíäàðòíà êàëåíäàðíà */ decimal ju, i, j, k, l, n; ju = jd; l = ju + 68569; n = (int)(4 * l / 146097); l = l - (int)((146097 * n + 3) / 4); i = (int)(4000 * (l + 1) / 1461001); l = l - (int)(1461 * i / 4) + 31; j = (int)(80 * l / 2447); k = l - (int)(2447 * j / 80); l = (int)(j / 11); j = j + 2 - 12 * l; i = 100 * (n - 49) + i + l; yy = (int)i; mm = (int)j; dd = (int)k; }
Àêî èñêàø äà èçêàðâàø è äíèòå îò ñåäìèöàòà (ïîíåäåëíèê, âòîðíèê, ...) òîãàâà 89 = 1989 èëè 2089 ùå èìà çíà÷åíèå èíà÷å çà öåëòà íà çàäà÷àòà òè àêî ñå âúâåäå, íàïðèìåð: 2089 âçåìàø ñàìî ïîñëåäíèòå öèôðè è ñëåä ñìåòêàòà íà ðåçóëòàòà çà ãîäèíàòà äîáàâÿø 20 îòïðåä.
"Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë
-
15th March 2009 12:45 #5Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others

-
15th March 2009 12:49 #6
Mè...

Èçëúãàõ âè ìàëêî. Ãîäèíàòà ìîæå äà ñè å ñ 4 öèôðè è ñè ñå ðàçëè÷àâà êîðåêòíî. Àç çàùîòî ãî èìàì îòäàâíà è ãî ïóñíàõ íà áúðçî, òà ðåøèõ, ÷å ïîñëåäíèòå 2 öèôðè ñà äîñòàòú÷íè...
Ñåãà ïðîáâàõ òî÷íî ñ 28.02.1900 è ñëåäâàùà äà å +1 íà Þëèàíñêèÿò ðåçóëòàò è ñúùîòî ñ 28.02.2000 è ñå ñìÿòà êîðåêòíî -> íà ïúðâàòà äàòà âðúùà 01.03.1900 à íà âòîðàòà 29.02.2000. 
Meðñè, çà çàáåëåæêàòà icaci."Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
Äæîí Ñòþàðä Ìèë




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè