Results 1 to 6 of 6

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User KeepOut's Avatar
    Join Date: Jul:2008
    Location: Áúëãàðèÿ
    Posts: 45

    Çàäà÷à íà Ñ++

    Èìàì åäíà çàäà÷à çà äîìàøíî è íåìîãà äà èçìèñëÿ êàê äà ÿ íàäðàçêàì Ïîñëåäíî â ó÷èëèùå âçåõìå çà 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 |

  2. #2
    ɐ-əpoɔᴉu⋂ ɐí íəÔ anrieff's Avatar
    Join Date: Apr:2004
    Location: Sofia
    Posts: 8,448
    Öÿëîòî íåùî å äà íàïðàâèø åäèí ãîëÿì switch, îò âèäà
    Code:
    switch (month) {
    case 1:
    case 3:
    ...
       daysInMonth = 31;
       break;
    case 4:
    case 6:
    ...
       daysInMonth = 30;
       break;
    ...
    };
    Çà ôåâðóàðè òðÿáâà äà âêàðàø ñïåöèàëåí case (çà äà îïðåäåëèø äàëè å âèñîêîñíà ãîäèíàòà, âèæ òóê: http://en.wikipedia.org/wiki/Leap_year#Algorithm )
    Ñëåä êîåòî, ãëåäàø äàëè day + 1 íå òè íàäõâúðëÿ daysInMonth. Àêî äà, óâåëè÷àâàø ìåñåöà. Àêî ìåñåöà ñòàíå 13-òè - óâåëè÷àâàø ãîäèíàòà.
    Åòî òàêà ñå ïëîäÿò òå, êàçâàì ñè àç. Ïîä íîñà òè.
    "640K îught to be enough for anybody" - Bill Gates, 1981
    Òåñòîâå íà áàòåðèè::Machine specs::Fract::AGG::ÍåÑåÑúðäè×îâå÷å::Baileys::blog::YouTube channel

  3. #3
    Registered User bombov's Avatar
    Join Date: Jan:2007
    Location: Âàðíà
    Posts: 260
    Íàñêðî ïðàâåõìå ïîäîáíî ,ñàìî ,÷å íå ñëåäâàùòà äàòà ,à ñëåä 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;
    
    	}

  4. #4
    Defender Kaspirtov's Avatar
    Join Date: Jun:2006
    Location: Sf
    Posts: 7,414
    A çàùî íå ãè îáðúùàø äàòèòå â Þëèàíñêè ïî àëãîðèòúìà:
    Code:
            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;
            }
    Ãîäèíàòà ñå çàäàâà ñ ïîñëåäíèòå äâå öèôðè, òàêà òðÿáâà äà ñè íàïðàâèø èíòåðïðåòàòîð äàëè íàïðèìåð '89 òè å 1989 èëè 2089 , íî çà äà ïîëó÷èø ñëåäâàùàòà äàòà íå å îò çíà÷åíèå.

    è ïîñëå îáðàòíàòà òðàíñôîðìàöèÿ:
    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;
            }
    êàòî íà âòîðàòà ô-öèÿ ïîäàâàø jd ïîëó÷åí îò ïúðâàòà +/- êîëêîòî äíè ñè èñêàø íàïðåä íàçàä.

    Àêî èñêàø äà èçêàðâàø è äíèòå îò ñåäìèöàòà (ïîíåäåëíèê, âòîðíèê, ...) òîãàâà 89 = 1989 èëè 2089 ùå èìà çíà÷åíèå èíà÷å çà öåëòà íà çàäà÷àòà òè àêî ñå âúâåäå, íàïðèìåð: 2089 âçåìàø ñàìî ïîñëåäíèòå öèôðè è ñëåä ñìåòêàòà íà ðåçóëòàòà çà ãîäèíàòà äîáàâÿø 20 îòïðåä.
    "Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
    Äæîí Ñòþàðä Ìèë

  5. #5
    philosophus duratea icaci's Avatar
    Join Date: Oct:2006
    Location: Aachen
    Posts: 2,698
    Quote Originally Posted by Kaspirtov View Post
    ...
    Ãîäèíàòà ñå çàäàâà ñ ïîñëåäíèòå äâå öèôðè, òàêà òðÿáâà äà ñè íàïðàâèø èíòåðïðåòàòîð äàëè íàïðèìåð '89 òè å 1989 èëè 2089 , íî çà äà ïîëó÷èø ñëåäâàùàòà äàòà íå å îò çíà÷åíèå.
    ...
    Àêî èñêàø äà èçêàðâàø è äíèòå îò ñåäìèöàòà (ïîíåäåëíèê, âòîðíèê, ...) òîãàâà 89 = 1989 èëè 2089 ùå èìà çíà÷åíèå èíà÷å çà öåëòà íà çàäà÷àòà òè àêî ñå âúâåäå, íàïðèìåð: 2089 âçåìàø ñàìî ïîñëåäíèòå öèôðè è ñëåä ñìåòêàòà íà ðåçóëòàòà çà ãîäèíàòà äîáàâÿø 20 îòïðåä.
    Íÿìà ìå ìíîãî â êàëåíäàðíèòå ñìåòêè (äàæå èçïèòâàì ïàíè÷åñêè óæàñ, êîãàòî òðÿáâà äà ñå çàíèìàâàì ñ òàêèâà!), íî êàê òî÷íî ðàçëè÷àâàø âèñîêîñíàòà 2000 ã. îò íåâèñîêîñíàòà 1900 ã. ñàìî ñ ïîñëåäíèòå äâå öèôðè?
    Internet - it doesn't make you stupid, it just makes your stupidity more accessible to others

  6. #6
    Defender Kaspirtov's Avatar
    Join Date: Jun:2006
    Location: Sf
    Posts: 7,414
    Quote Originally Posted by icaci View Post
    Íÿìà ìå ìíîãî â êàëåíäàðíèòå ñìåòêè (äàæå èçïèòâàì ïàíè÷åñêè óæàñ, êîãàòî òðÿáâà äà ñå çàíèìàâàì ñ òàêèâà!), íî êàê òî÷íî ðàçëè÷àâàø âèñîêîñíàòà 2000 ã. îò íåâèñîêîñíàòà 1900 ã. ñàìî ñ ïîñëåäíèòå äâå öèôðè?
    Mè... Èçëúãàõ âè ìàëêî. Ãîäèíàòà ìîæå äà ñè å ñ 4 öèôðè è ñè ñå ðàçëè÷àâà êîðåêòíî. Àç çàùîòî ãî èìàì îòäàâíà è ãî ïóñíàõ íà áúðçî, òà ðåøèõ, ÷å ïîñëåäíèòå 2 öèôðè ñà äîñòàòú÷íè... Ñåãà ïðîáâàõ òî÷íî ñ 28.02.1900 è ñëåäâàùà äà å +1 íà Þëèàíñêèÿò ðåçóëòàò è ñúùîòî ñ 28.02.2000 è ñå ñìÿòà êîðåêòíî -> íà ïúðâàòà äàòà âðúùà 01.03.1900 à íà âòîðàòà 29.02.2000.

    Meðñè, çà çàáåëåæêàòà icaci.
    "Íèêîãà íå ìîæåì äà ñìå ñèãóðíè, ÷å ìíåíèåòî, êîåòî ñå ñòðåìèì äà çàäóøèì å ïîãðåøíî, à è äà áÿõìå ñèãóðíè, ïàê áè áèëî ïîãðåøíî äà ãî çàäóøèì."
    Äæîí Ñòþàðä Ìèë

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè