Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2009, 10:37   #11
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Так, стоп!!! Задача - плевая. Необходимо выяснить, с какого момента начали разниться календари. С 100 года н.э.? Или нет?
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 22.09.2009, 10:38   #12
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

«Пиша» свой календарь, я упростил — сделал с 1825. Вообще же папа Григорий (не помню какой) ввёл, в связи с открытиями в астрономии, более точный кадендарь где-то в 1582 году.
А юлианский — известен где-то с 350 (!) г. н. э.
В целях обучения, думаю, надо формально выбрать «общее начало» — 0 (начало 1 года н. э.). Это упростит код.

Ага, с 100 г. (по Юлию, он не високосен: не кратен 400, а по Григорию високосен).

Последний раз редактировалось Sasha_Smirnov; 22.09.2009 в 10:50.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 22.09.2009, 10:40   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Да, по условию нет привязки к определенному интервалу, я поэтому и спрашивал - дату нужно переводить любую. Ну скажем 349 год в григорианский.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 22.09.2009, 10:43   #14
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Нет, формально разница не с 100 г., а с 400 (по Юлию, он не високосен: кратен 400).
Как раз-таки с сотого, т.к. в Григорианском календаре если кратен 100 и не кратен 400 - не високосный - сами же писали )))

Хорошо, мы пойдем другим путем... В 2000г разница между календарями составила 13 дней.
На момент наступления: 1900 - 13, 1800 - 12, 1700 - 11, 1500 - 10, 1400 - 9...
В 1 января 200г н.э. - точка отсчета обоих календарей. От нее и будем прыгать.. )
Познавая других, мы познаем себя.
С'est la vie...

Последний раз редактировалось SuperVisor; 22.09.2009 в 10:54.
SuperVisor вне форума Ответить с цитированием
Старый 22.09.2009, 11:08   #15
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию

Эт я тож на паре высчитал...Ток я думаю мне через case все возможные случаи расписывать?
Frame1992 вне форума Ответить с цитированием
Старый 22.09.2009, 11:13   #16
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Зачем??? У вас есть дата начала отсчета, дата любого из календарей (пусть 1567 в григорианском)..
Принцип такой: высчитываем разницу в веках .
Разница будет 1367 лет, т.е. 13 веков. Div 4 = 3, mod 4 = 1, т.е. было 3 раза прибавлено 3 дня и еще один день.
Разница в днях - 10 дней
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 22.09.2009, 21:48   #17
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию

Чет вы мне по-моему не то говорите...В 13 веке разница между календарями составляет 9 дней...
Frame1992 вне форума Ответить с цитированием
Старый 22.09.2009, 21:56   #18
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Можно дату переводить в дни (прошедшие с 31.12.01 до н. э.), а затем обратно в дату — но юлианскую.

По крайней мере так это сделали на timeanddate.com.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 22.09.2009, 22:58   #19
Frame1992
Пользователь
 
Аватар для Frame1992
 
Регистрация: 21.09.2009
Сообщений: 31
По умолчанию

Да это уж я понял, ток не пойму алгоритма, т.е. как, собственно, перевод осуществить..
Frame1992 вне форума Ответить с цитированием
Старый 22.09.2009, 23:12   #20
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Цитата:
Сообщение от Frame1992 Посмотреть сообщение
Чет вы мне по-моему не то говорите...В 13 веке разница между календарями составляет 9 дней...
Мы считали 1567 год!!! А в 13 веке разница составляла (должна была составлять) 8 дней.
Еще раз внимательно прочтите мой пост - и будет Вам счастье.
Не забудьте про исключительный случай, когда год у нас выпадает кратный 100 и не кратный 400, а дата где-то в районе февраля. Перевод в дни... ЧУШЬ!!!

На "момент наступления" из предыдущего поста - поправка: не на момент наступления 1900 года, а на момент наступления 1 марта 1900 года.
+ Не отнимать от года 200 лет, а брать его как есть и считать разницу дней по алгоритму, приведенному мною выше, и отнимать 2 дня из результата для любого года н.э.. Для летоисчисления до н.э. - коэффициент определите сами..
Познавая других, мы познаем себя.
С'est la vie...

Последний раз редактировалось SuperVisor; 23.09.2009 в 00:12.
SuperVisor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка по С++ 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