fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int jakiDzienPierwszego(int pierwszyStycznia, int rok){
  7. int jakiDzien;
  8. jakiDzien = (pierwszyStycznia + 366*ilePrzestepnych(rok) + 365*(rok - ilePrzestepnych(rok)))%7;
  9. return jakiDzien;
  10. }
  11.  
  12. int ilePrzestepnych(int rok){
  13. int i;
  14. int ilePrzestepnych = 0;
  15. for(i = 0; i < rok - 1600; i++){
  16. if(czyPrzestepny(i) == 1)
  17. ilePrzestepnych++;
  18. }
  19. return ilePrzestepnych;
  20. }
  21.  
  22. int czyPrzestepny(int rok){
  23. if(rok == 0 || (rok%4 == 0 && rok%400 == 0) || (rok%4 == 0 && rok%100 != 0))
  24. return 1;
  25. return 0;
  26. }
  27.  
  28. void wypiszPiatki(int pierwszyStycznia, int rok){
  29. puts("W danym roku piatki trzynastego beda w tych miesiacach:");
  30. switch(jakiDzienPierwszego(pierwszyStycznia, rok)){
  31. case 0:
  32. if(czyPrzestepny(rok) == 1)
  33. puts("Wrzesien oraz grudzien.");
  34. else
  35. puts("Maj.");
  36. break;
  37. case 1:
  38. if(czyPrzestepny(rok) == 1)
  39. puts("Czerwiec.");
  40. else
  41. puts("Wrzesien oraz grudzien.");
  42. break;
  43. case 2:
  44. if(czyPrzestepny(rok) == 1)
  45. puts("Marzec oraz listopad.");
  46. else
  47. puts("Czerwiec.");
  48. break;
  49. case 3:
  50. if(czyPrzestepny(rok) == 1)
  51. puts("Luty oraz sierpien.");
  52. else
  53. puts("Luty, marzec oraz listopad.");
  54. break;
  55. case 4:
  56. if(czyPrzestepny(rok) == 1)
  57. puts("Maj.");
  58. else
  59. puts("Sierpien.");
  60. break;
  61. case 5:
  62. if(czyPrzestepny(rok) == 1)
  63. puts("Pazdziernik.");
  64. else
  65. puts("Maj.");
  66. break;
  67. case 6:
  68. if(czyPrzestepny(rok) == 1)
  69. puts("Styczen, kwiecien oraz lipiec");
  70. else
  71. puts("Styczen oraz pazdziernik");
  72. break;
  73. }
  74. }
  75.  
  76. int main (void){
  77. int pierwszyStycznia = 1;
  78. int rok;
  79.  
  80. puts("Podaj rok, a ja wypisze jego piatki 13-stego");
  81. scanf("%d", &rok);
  82. wypiszPiatki(pierwszyStycznia, rok);
  83.  
  84. return 0;
  85. }
  86. }
Success #stdin #stdout 0s 2152KB
stdin
Standard input is empty
stdout
Standard output is empty