для СИ:
int verification(int day, int month, int year)
{
int temp=1;
if (day>31)
temp=0;
if (month>12)
temp=0;
if (day<1)
temp=0;
if (month<1)
temp=0;
if ((month==4)&&(day==31))
temp=0;
if ((month==6)&&(day==31))
temp=0;
if ((month==9)&&(day==31))
temp=0;
if ((month==11)&&(day==31))
temp=0;
if ((day>28)&&(month==2))
temp=0;
if ((day==29)&&(month==2)&&(year%4==0))
temp=1;
if ((day==29)&&(month==2)&&(year%4!=0))
temp=0;
return temp;
}
/*если возвращается 0, то дата не существует. если 1 – то существует*/
Другие языки программирования и технологии
9. Даны натуральные числа A, B и C, обозначающие число, месяц и год. Проверить корректность этой даты. Выбрать оптимальн
Для дельфи:
try
EncodeDate(a,b,c); //посмотри порядок точно
except
ShowMessage('Wrong!');
Abort;
end;
ShowMessage('Right!');
Только боюсь, что за такое по головке не погладят.
А еще могу обрадовать - календарь-то менялся несколько раз по пути, так что там проблемки ой-ой-ой!
try
EncodeDate(a,b,c); //посмотри порядок точно
except
ShowMessage('Wrong!');
Abort;
end;
ShowMessage('Right!');
Только боюсь, что за такое по головке не погладят.
А еще могу обрадовать - календарь-то менялся несколько раз по пути, так что там проблемки ой-ой-ой!
BOOL ValidateDate(int D, int M, int Y)
{
if (D < 1 || D > 31 || M < 1 || M > 12)
return FALSE; // в принципе неправильно
if (M == 1 || M == 3 || M == 5 || M == 7 || M == 8 || M == 10 || M == 12)
return TRUE; // месяцы по 31 день
if (M != 2)
return (D < 31); // месяцы по 30 дней
if (D < 29)
return TRUE; // февраль до 28 дней есть в любом годе
// Определяем високосный год
BOOL v = (Y % 4 == 0) && !(Y % 100 == 0 && Y % 400 != 0);
return (v && D == 29); // 29 февраля в високосном годе
}
{
if (D < 1 || D > 31 || M < 1 || M > 12)
return FALSE; // в принципе неправильно
if (M == 1 || M == 3 || M == 5 || M == 7 || M == 8 || M == 10 || M == 12)
return TRUE; // месяцы по 31 день
if (M != 2)
return (D < 31); // месяцы по 30 дней
if (D < 29)
return TRUE; // февраль до 28 дней есть в любом годе
// Определяем високосный год
BOOL v = (Y % 4 == 0) && !(Y % 100 == 0 && Y % 400 != 0);
return (v && D == 29); // 29 февраля в високосном годе
}
tckb yflj? gbib vyt yf vskj? z nt,t dct xjnrj b c rjvtynfbv cltkf.
Похожие вопросы
- Программисты! Помогите пожалуйста! Нужно на паскале написать код к следующей задаче: Даны натуральные числа a, b, c
- Даны натуральные числа N и A1,…, AN. Образовать новые одномерные последовательности B1, …, BN и C1, …, CN
- даны натуральные числа n и m(0 <=m <= 9)дополнить запись числа n в начале и в конце цифрой m
- Даны натуральное число n, действительные числа a1,.,an. Вычислить: |a1|,|a1+a2|,.,|a1+.+an|; delphi
- Что оптимальнее: a -= b или a = a - b ? [obj c]
- очень нужно, помогите пожалуйста. Приведите словесное описание алгоритма сложения двух обыкновенных дробей a/b и c/d
- помогите решить задачу!...Даны целые числа a, b, c, являющиеся сторонами некоторого треугольника.Проверить истинность вы
- даны 3 разл целых числа a,b,c используя оператор GOTO составить программу для ввода чисел в порядке убывания
- Pascal. Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются степенью двойки.
- Найти трехзначные числа a, b, c, все цифры которых различны и удовлетворяют уравнению a^2 – b^2 – c^2 = a – b – c.