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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2011, 00:57   #1
oWneDiT
Новичок
Джуниор
 
Регистрация: 19.07.2011
Сообщений: 1
По умолчанию Даны натуральные числа

Даны натуральные числа
a1, b1 , c1 (число, месяц, год)
a2, b2, c2 (число, месяц, год)

Вычислить количество дней, полных месяцев, и полных лет, прошедших между датами ( на языке Си).

Cоздаю структуру Date, но не могу сделать так,чтобы отнимать даты. Требуется помощь, хочу разобраться.
oWneDiT вне форума Ответить с цитированием
Старый 19.07.2011, 01:15   #2
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Простое и надежное решение, хоть ресурсоемкое -уменьшать большую дату на 1 день до тех пор, пока обе даты не сравняются. Разница между датами - это количество потребовавшихся итераций.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 19.07.2011, 02:17   #3
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Вот есть такое с условным нулем 1 января 100г новой эры:
Код:
int IntFromDMY(int day,  int month, int year )
{
  int m = (month - 14) / 12;
  return ((1461 * (year + 4800 + m)) / 4 + (367 * (month - 2 - 12 * m)) / 12 - (3 * ((year + 4900 + m) / 100)) / 4 + day - 32075) - 1757585;
}
//------
int d1 = IntFromDMY(1, 1, 2012);
int d2 = IntFromDMY(31, 12, 2012);
int ddif = d2 - d1;

Последний раз редактировалось EUGY; 19.07.2011 в 02:27.
EUGY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны натуральные числа n и m. Получить сумму m последних цифр числа n pahanzona Microsoft Office Excel 11 27.02.2011 02:17
Даны натуральные числа n,p, целые числа a1 , ... ,an. Наталья111 Фриланс 10 09.11.2010 20:09
Даны взаимно простые натуральные числа m и n (m>n). Найти переодическую и непереодическую части десятично Angel-dm Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 19:02
даны натуральные трехзначные числа, нужно выбрать такие, запись которых содержит два одинаковые цифры. TuuuZ Помощь студентам 2 28.12.2009 16:18
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22