|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.09.2009, 23:29 | #1 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 31
|
Задачка о календарях в C++
Товарищи форумчане, здравствуйте. Решил вам написать вот о какой задаче. С клавы задается дата в Юлианском календаре в формате d, m, y, где d - день, m - номер месяца, y - номер года. Задача заключается в том, чтобы перекодировать эту дату в Григорианский календарь. Расхождения в датах определяются тем, что в Юлианском календаре(дата по старому стилю) високосным считается тот год, который начело делится на 4 и исключений нет, а в Григорианском - те же года но кроме тех, которые делятся нацело на 100, но не делятся на 400. Заранее спасибо за помощь.
Последний раз редактировалось Frame1992; 22.09.2009 в 10:24. |
22.09.2009, 09:49 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Имеется ли ограничения на вводимую дату или нужно задавать произвольную?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
22.09.2009, 09:52 | #3 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 31
|
Нет, ограничений на дату не имеется
|
22.09.2009, 09:54 | #4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Могу предложить вариант: с начала с одного календаря все переводите в общее количество дней, а затем из этого количества переводите в нужный Вам календарь.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
22.09.2009, 10:14 | #5 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 31
|
Я извиняюсь, но не совсем понимаю как это записать в Си. Насколько я понял, необходимо сначала вычислить сколько дней в данном месяце - это я сделал. Вот как осуществить сам перевод?
|
22.09.2009, 10:20 | #6 | |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Цитата:
Например, год 2000 високосный (по любому календарю из названных), а 1900 (григорианский) — простой. (Подпись не убрал — разве мешает? Вообще есть там (моя) готовая программа на VBA. Но делать аналог на C++ — легче с нуля набить!)
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 22.09.2009 в 10:27. |
|
22.09.2009, 10:24 | #7 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 31
|
Сорри, ошибся...Спасиб, что поправили. Но зачем мне ссылка на макросы?
|
22.09.2009, 10:31 | #8 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
А точка отсчета какая? Начало эры?
P.S. Это подпись )))
Познавая других, мы познаем себя.
С'est la vie... |
22.09.2009, 10:34 | #9 |
Пользователь
Регистрация: 21.09.2009
Сообщений: 31
|
По идее про точку отсчета в задаче не сказано, но видимо подразумевается, что начало эры..
|
22.09.2009, 10:34 | #10 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну сколько дней в году? Сколько из них високосных? месяцы можно просто по таблицы - к примеру 5 месяцев это столько-то дней, а 4 месяца столько-то. Сначала тебе нужно вводимую дату полностью перевести в дни.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачка по С++ | Ready | Помощь студентам | 2 | 20.05.2009 01:19 |
задачка | lucky | Помощь студентам | 1 | 07.05.2009 13:49 |
Задачка на С!!! | Exorcist | Помощь студентам | 1 | 07.12.2008 21:15 |
Задачка | Claster | Помощь студентам | 2 | 24.09.2008 17:53 |