Advertisement
RnD

Friday the Thirteenth

RnD
Feb 19th, 2013
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.22 KB | None | 0 0
  1. /*
  2. ID: rnd.gde1
  3. LANG: C++
  4. PROG: friday
  5. */
  6.  
  7. #include <fstream>
  8. using namespace std;
  9.  
  10. struct dates{
  11.     int year, month[12], day[31];
  12. }date[400];
  13.  
  14. int main(){
  15.  
  16.     ifstream inFile("friday.in");
  17.     ofstream outFile("friday.out");
  18.     bool leap;
  19.     int n, weekDay=0, mDays, smth=0, wDay[31], total=0, mon=0,tue=0,wed=0,thu=0,fri=0,sat=0,sun=0,
  20.         months[12][1] = {
  21.             {31},{0},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}
  22.         },
  23.         week[7][1] = {
  24.             {1},{2},{3},{4},{5},{6},{7}
  25.         };
  26.  
  27.  
  28.     inFile >> n;
  29.  
  30.     for(int y=1900;y<1900+n;y++){
  31.         date[smth].year=y;
  32.  
  33.         //check for leap year
  34.         if(y%100==0){
  35.             if(y%400==0){
  36.                 //leap century year
  37.                 leap = true;
  38.             }
  39.             else{
  40.                 //century not leap year
  41.                 leap = false;
  42.             }
  43.         }
  44.         else{
  45.             if(y%4==0){
  46.                 //leap year
  47.                 leap = true;
  48.             }
  49.             else{
  50.                 //usual year
  51.                 leap = false;
  52.             }
  53.         }
  54.  
  55.         leap ? months[1][0]=29 : months[1][0]=28;
  56.  
  57.         for(int m=0;m<12;m++){
  58.             date[smth].month[m]=m+1;
  59.             mDays = months[m][0];
  60.  
  61.             for(int d=0;d<mDays;d++){
  62.                 weekDay++;
  63.                 total++;
  64.                 date[smth].day[d]=d+1;
  65.  
  66.                 if(weekDay>7){
  67.                     weekDay=1;
  68.                 }
  69.                 wDay[d]=weekDay;
  70.  
  71.                 if(d==13&&weekDay==1){
  72.                     mon++;
  73.                 }else if(d==13&&weekDay==2){
  74.                     tue++;
  75.                 }else if(d==13&&weekDay==3){
  76.                     wed++;
  77.                 }else if(d==13&&weekDay==4){
  78.                     thu++;
  79.                 }else if(d==13&&weekDay==5){
  80.                     fri++;
  81.                 }else if(d==13&&weekDay==6){
  82.                     sat++;
  83.                 }else if(d==13&&weekDay==7){
  84.                     sun++;
  85.                 }
  86.  
  87.             }
  88.  
  89.         }
  90.         smth++;
  91.     }
  92.  
  93.     outFile << sun << " " << mon << " " << tue << " " << wed << " " << thu << " " << fri << " " << sat << endl;
  94.  
  95.  
  96.     return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement