С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Пересчёт даты из Григорианской в Юлианскую - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ помогите написать лабу http://www.cyberforum.ru/cpp-beginners/thread50042.html
1. Дано 36-ричное число, содержащее не более 100 цифр (цифры 10,11,...,35 кодируются заглавными латинскими буквами А,В,...,Z). Переставить цифры числа таким образом, чтобы оно стало "счастливым"....
C++ Поиск звена с элементом el в списке, заданном указателем phead #include<iostream> using namespace std; class Spisok { private: struct node { int elem; node *sled; }; http://www.cyberforum.ru/cpp-beginners/thread50022.html
Перегрузка функции C++
Что такое перезагрузка функции в с++? Для чего она нужна? Есть случаи, когда без нее никак? Приведите пример перезагрузки функции? Тут есть перезагрузка? static int Square(int var) { ...
Динамическое очищение массива C++
Помогите пжлст) Нужно в программе при определенных обстоятельствах очистить массив. char n;
C++ Реверсирование строк http://www.cyberforum.ru/cpp-beginners/thread49988.html
Всем добрый вечер! Как всегда, практикуюсь по книжным примерам. Вот дошёл до темы реверсирования строк, то есть расположения букв в обратном порядке. Столкнулся с таким кодом, и не ясен стал цикл,то...
C++ Найти корень квадратного уравнения Люди помогите решить программу з оператором (if) Задание: Знайти корень квадратного уравнения!!!!! подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4675 / 2501 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.09.2009, 20:13
Тут небoльшая прoблемма в самих фoрмулах. Напиши пожалуйста в первом варианте результат получился правильный?

Добавлено через 20 минут
В общем если провести небольше математическое вычисление, то получается различие в формулах из Вашего первого кода и второго:
C++
1
2
    double JD=int(365.25*(Y+4716))+int(30.6001*(M+1))+D+B-1524.5;
    float JD=int(365.25*Y)+int(30.6001*(M+1))+Day+B+1720994.5+1720994.5;
ровно на 1720994.5
Я думаю что во втором варианте просто опечатка. Наверняка автор написал бы не "+1720994.5+1720994.5", а просто "+3441989".
В общем если первый код работает правильно, то во втором коде 30 строку надо переписать так:
C++
1
  float JD=int(365.25*Y)+int(30.6001*(M+1))+Day+B+1720994.5;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.