274 / 2 / 1
Регистрация: 03.04.2014
Сообщений: 13
1

Найти разницу между датами

07.05.2015, 13:51. Показов 1900. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите понять что не так.
не всегда верно выводит количество часов
входные данные- количество строк; day1,hour1,min1,sec1,day2,hour2,min2,sec2.
выходные- интервал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
   int n,x1,x2,d1,d2,h1,h2,m1,m2,s1,s2;
   ifstream fin;
   fin.open("in.txt",ios::in);
   if(!fin.is_open()) printf("ERROR");
    fin>>n;
    for(int i=1;i<=n;i++){
    fin>>d1>>h1>>m1>>s1>>d2>>h2>>m2>>s2;
    x1=s1+m1*60+h1*60*60+d1*60*60*60;//преобразовуем время в секунды
    x2=s2+m2*60+h2*60*60+d2*60*60*60;
    x1=x2-x1; //вычисляем разницу
    
        d1=x1/(60*60*60);//преобразовуем секунды в dd.hh.mm.ss
    x1%=(60*60*60);
    
    h1=x1/(3600);
    x1%=(60*60);
    
    m1=x1/60;
    s1=x1%60;
    printf("(%d %d %d %d)",d1,h1,m1,s1); //выводим
    }
    fin.close();
   return 0;
}
входные данные:
Кликните здесь для просмотра всего текста

13
16 2 18 25 27 12 43 48
20 17 28 48 26 9 11 7
15 11 58 1 22 0 46 53
26 21 29 10 27 5 29 4
16 19 24 53 22 22 2 46
10 12 24 9 11 11 12 21
5 14 22 29 26 1 45 42
19 15 43 25 21 16 10 33
0 10 48 50 16 1 42 17
2 7 6 21 2 18 57 21
9 17 39 36 13 12 49 27
1 5 46 26 7 12 27 14
11 22 20 13 26 13 23 41

как показывает программа:
Кликните здесь для просмотра всего текста
Найти разницу между датами

как должно быть:
Кликните здесь для просмотра всего текста
(11 10 25 23) (5 15 42 19) (6 12 48 52) (0 7 59 54) (6 2 37 53) (0 22 48 12) (20 11 23 13) (2 0 27 8) (15 14 53 27) (0 11 51 0) (3 19 9 51) (6 6 40 48) (14 15 3 28)

как видно начиная со второго интервала данные не соответствуют
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2015, 13:51
Ответы с готовыми решениями:

Найти разницу между массивами
Допустим есть два массива целых чисел: int n1 = {1, 12, 123, 1234}; int n2 = {1, 12, 121, 122,...

Функция malloc() - найти разницу между двумя реализациями
Добрый вечер. Скажите, пожалуйста, есть ли разница между записями:...

Найти разницу между максимумом и минимумом из трёх чисел
Здравствуйте! Задача звучит так: Найти разницу между максимумом и минимумом из трёх чисел. Задачка...

Найти разницу между количеством положительных и отрицательных значений функции
y = ln (sin (v) + cos (u)), u принадлежит промежуток , v принадлежит проиижок , h (u) = 0.25, h...

2
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
07.05.2015, 16:04 2
Лучший ответ Сообщение было отмечено yozh как решение

Решение

в сутках 24 часа, а не 60
1
274 / 2 / 1
Регистрация: 03.04.2014
Сообщений: 13
07.05.2015, 19:25  [ТС] 3
блин действительно) спасибо
просто странно, дальше все правильно показывает, а екселе перещитывал тоже работало так же..
0
07.05.2015, 19:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2015, 19:25
Помогаю со студенческими работами здесь

Структура данных - очередь. Найти разность между двумя датами
Я чего - то вообще в тупике. Ничего на ум не приходит. Расскажите алгоритм, пожалуйста. /* В...

Найти и вывести наибольшее и наименьшее значения массива, а также разницу между ними
Вечер добрый, друзья. Буду благодарен, если поможете с заданием. Использовать одномерный массив...

Найти и вывести наибольшее и наименьшее значение массива, а также разницу между ними
Люди помогите написать программу!!!! использовать одномерный массы чисел, заполнить произвольными...

Для каждого вектора найти разницу между модулями сумм положительных и отрицательных элементов.
Здравствуйте!Прошу Вашей помощи,написал программу,все работает,но надо ее переделать как на...

Объясните разницу между двумя #define
Объясните пожалуйста, в чем разница между 2 строчками ниже. В каких случаях они отличаются, в...

Определение интервала между двумя датами
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru