Так оно и так известно. В зависимости от високосности и номера месяца доставать из массива. Потребуется 2 массива с високосными числами и невисокосными числами.
0. Ложим на советы предыдущего оратора.
1. Берем 1 числа текущего месяца.
2. прибавляем 31 день.
3. Берем 1 числа следующего месяца
4. сравниваем 1 и 3
TheXpert:
Извините, но - "кладём".
0. Ложим на советы предыдущего оратора.
Зачем вычислять то, что уже известно? Для этого массивы есть. Это проще, наглядно. Отсутствие вычислений это отсутствие ошибок и отладки кода. Не говорю, что это существенно более быстрые операции.
Я бы взял первое число следующего месяца и отнял (вычел) два дня
alex_ant:
Привет. Есть желание менять поведение эксперта в два последних дня месяца. Конечно, можно применять логику к 30 и 31 числу, и в большинстве случаев это будет работать. Но, сами понимаете, хотелось бы чего-то красивее. Обычно везде есть функции типа DaysInMonth(), в справке не нашёл ничего подобного. Задача вроде должна быть распространённой, как в народе такое решается?
Благодарю за помощь.
А если один из этих дней или даже оба последних дня являются выходными?
int dim(int m,int y){ // m - месяц от 1 до 12, y - год int d=30+(m+(m>7))%2-(m==2)*(1+((y%4)!=0)); return(d); }исправлено
Integer:
В этом коде точно нет ошибок?
PapaYozh:
В этом коде точно нет ошибок?
В этом коде точно нет ошибок?
В каких-то случаях неправильно считает?
Одна ошибка точно есть. Неправильно високосность вычисляется.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет. Есть желание менять поведение эксперта в два последних дня месяца. Конечно, можно применять логику к 30 и 31 числу, и в большинстве случаев это будет работать. Но, сами понимаете, хотелось бы чего-то красивее. Обычно везде есть функции типа DaysInMonth(), в справке не нашёл ничего подобного. Задача вроде должна быть распространённой, как в народе такое решается?
Благодарю за помощь.