Форум программистов, компьютерный форум CyberForum.ru

описать функцию MonthDays(M, Y) - C++

Восстановить пароль Регистрация
 
helpme_plz
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 21
13.02.2012, 22:38     описать функцию MonthDays(M, Y) #1
Используя функцию IsLeapYear из задания Proc52, описать функцию MonthDays(M, Y) целого типа, которая возвращает количество дней для M-го месяца года Y (1 ≤ M ≤ 12, Y > 0 — целые числа). Вывести значение функции MonthDays для данного года Y и месяцев M1, M2, M3.

Proc52. Описать функцию IsLeapYear(Y) логического типа, которая возвращает True, если год Y (целое положительное число) является високосным, и False в противном случае. Вывести значение функции IsLeapYear для пяти данных значений параметра Y. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400.[/B][/B][/U][/I][/I]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 22:38     описать функцию MonthDays(M, Y)
Посмотрите здесь:

Описать функцию Compare C++
Описать функцию C++
C++ Описать функцию
C++ Описать функцию DigitN(K, N
C++ Описать функцию RadToDeg(R)
C++ Задачка на массивы (описать функцию случайной генерации элементов массива, а за тем логическую функцию)
Описать функцию Even C++
Описать функцию в с++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
14.02.2012, 03:09     описать функцию MonthDays(M, Y) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
 
bool IsLeapYear(int Y)
{
   return (Y%4 == 0 && !(Y%100 == 0 && Y%400));
}
 
int MonthDays(int M,int Y)
{
   if(M == 2)
   {
      if(IsLeapYear(Y))return 29;
      return 28;
   }
   if(M >= 1 && M <=7)return (M%2)?31:30;
   return (M%2)?30:31;
}
 
int MonthDays2(int M,int Y)
{
   int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
   
   if(M == 2 && IsLeapYear(Y))return month[M-1]+1;
   return month[M-1];
} 
 
int main()
{
   //весокосный год - делится на 4,не делится на 100,не делится на 400 
   std::cout << 31 << " " << MonthDays(1,2012) << " " << MonthDays2(1,2012) << std::endl;
   std::cout << 29 << " " << MonthDays(2,2012) << " " << MonthDays2(2,2012) << std::endl;
   std::cout << 30 << " " << MonthDays(9,2012) << " " << MonthDays2(9,2012) << std::endl;
    
   //не весокосный год - не делится на 4
   std::cout << 31 << " " << MonthDays(1,2003) << " " << MonthDays2(1,2003) << std::endl;
   std::cout << 28 << " " << MonthDays(2,2003) << " " << MonthDays2(2,2003) << std::endl;
   std::cout << 30 << " " << MonthDays(9,2003) << " " << MonthDays2(9,2003) << std::endl;
    
   //весокосный год - делится на 4,делится на 100,делится на 400 
   std::cout << 31 << " " << MonthDays(1,2000) << " " << MonthDays2(1,2000) << std::endl;
   std::cout << 29 << " " << MonthDays(2,2000) << " " << MonthDays2(2,2000) << std::endl;
   std::cout << 30 << " " << MonthDays(9,2000) << " " << MonthDays2(9,2000) << std::endl;
    
   //не весокосный год - делится на 4,делится на 100,не делится на 400 
   std::cout << 31 << " " << MonthDays(1,1900) << " " << MonthDays2(1,1900) << std::endl;
   std::cout << 28 << " " << MonthDays(2,1900) << " " << MonthDays2(2,1900) << std::endl;
   std::cout << 30 << " " << MonthDays(9,1900) << " " << MonthDays2(9,1900) << std::endl;
   return 0; 
}
Yandex
Объявления
14.02.2012, 03:09     описать функцию MonthDays(M, Y)
Ответ Создать тему
Опции темы

Текущее время: 21:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru