Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 69, средняя оценка - 5.00
RWR
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
#1

Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. - C++

26.10.2009, 19:47. Просмотров 9007. Ответов 13
Метки нет (Все метки)

помогите, не пойму как это подсчитать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2009, 19:47     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту.
Посмотрите здесь:
Идёт k-тая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. C++ C++
C++ Идет n-я секунда суток. Определить, сколько полных часов и полных минут прошло до этого момента.
Определить число полных часов и число полных минут, прошедших с начала суток C++
C++ Идёт k-я секунда суток. Определите, сколько целых часов h и целых минут m прошло с начала суток C++
C++ Определить значение угла для минутной стрелки, а также количество полных часов и полных минут
C++ С начала суток часовая стрелка повернулась на "y" градусов. Сколько часов и минут прошло с начала суток?
C++ Вычислить сколько полных недель прошло между указанными датами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
26.10.2009, 19:52     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #2
C++
1
2
3
int hour, min, sec;
min = sec/60;
hour = sec/3600;
Вот и все по-моему. Че тут сложного?
RWR
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
26.10.2009, 19:54  [ТС]     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #3
manfeese," / "- вычисляет целочисленное деление? прост я с ним не встречался
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
26.10.2009, 19:58     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #4
есть у меня заначка

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
30
31
32
#include <iostream>
#include <cmath>
 
using namespace std;
 
// все возможные форматы времени
#define HHMMinMM(hour, minute) (hour*60+minute)
#define HourMinuteSec_In_Hour(hour, minute, sec)   (hour+(double)minute/60+(double)sec/3600)
#define HourMinuteSec_In_Minute(hour, minute, sec) (hour*60+minute+(double)sec/60)
#define HourMinuteSec_In_Sec(hour, minute, sec)    (hour*3600+minute*60+sec)
// только для вывода
#define Minute_In_HourMinuteSec(minute)     (int)(minute/60)<<":"<<(int)minute%60<<":"<<(int)(((int)(minute*100)%100)*60/100)
#define Minute_In_HourMinute(minute)     (int)(minute/60)<<":"<<(int)minute%60
#define Sec_In_HourMinuteSec(sec)           (int)(sec/3600)<<":"<<((int)sec%3600)/60<<":"<<((int)sec%3600)%60
 
 
// только для вывода c ограничение на день, то есть от 0:0:0 до 23:59:59
#define Minute_In_Hour0Minute_OneDay(minute)          ((int)(minute/60)%24)<<":"<<"0"<<(int)minute%60
#define Minute_In_HourMinute_OneDay(minute)       ((int)(minute/60)%24)<<":"<<(int)minute%60
#define Minute_In_HourMinuteSec_OneDay(minute)  ((int)(minute/60)%24)<<":"<<(int)minute%60<<":"<<(int)(((int)(minute*100)%100)*60/100)
#define Sec_In_HourMinuteSec_OneDay(sec)        ((int)(sec/3600)%24)<<":"<<((int)sec%3600)/60<<":"<<((int)sec%3600)%60
 
 
void main()
{ 
    int arrayN[ ]={10,9,2,3,4,6,8,5,10,9, 10};
    long second;
 
    cout<<"Enter second: "; cin>>second;
    cout<<"Result: "<<Sec_In_HourMinuteSec_OneDay(second);
    cout<<endl; system("pause");
}
RWR
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
26.10.2009, 22:21  [ТС]     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #5
Цитата Сообщение от RWR Посмотреть сообщение
manfeese," / "- вычисляет целочисленное деление? прост я с ним не встречался
ну и тупость я наплел, извеняюсь, я со знаками запутался

Добавлено через 10 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
        int hour,min,sec;
        printf("Idet Secunda");
        scanf("%d", sec);
        min=sec/1440;
        hours=sec/86400;
        printf("Proshlo minut %d", min);
        printf("Proshlo chasov %d", hours);
        return 0;
}
подскажите что не так
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
26.10.2009, 22:25     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #6
RWR,
" / "- вычисляет целочисленное деление? прост я с ним не встречался
если делишь целые числа, то дробная часть отбрасывается. для вещественных - всё как положено.
RWR
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
26.10.2009, 23:20  [ТС]     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #7
Rififi, спасибо я с этим уже разобрался

Добавлено через 18 минут
min=sec/1440;
hours=sec/86400;

может ошибки здес

Добавлено через 33 минуты
ну я уверен что решается все очень просто, только как сделать так, чтобы прога работала
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 00:50     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #8
min=sec/1440;
hours=sec/86400;

может ошибки здес
Да, скорее всего здесь! чтобы определить количество прошедших минут за текущие сутки, ты делиш текущую секунду на 1440, походу это не правильно! В сутках 1440 минут, выходит, что твое максимальное значение в минутах будет 60 а в часах вообще 1.

Просто вопрос в другом: полных минут тебе конкретно в чем надо вычислить: в часе или в сутках???
С часами тут все понятно, ну а если же тебе все таки надо определить, сколько полных минут прошло в сутках, то тогда значения min и hour должны быть равны тому, что я приводил ранее:
C++
1
2
3
int hour, min, sec;
min = sec/60;
hour = sec/3600;
таким образом, максимальное значение минут в таком случае будет составлять 1440, а часов 24.
То есть имея значение секунд, например, 14550 получится полных часов 4, а полных минут 242.

А если тебе все таки надо полное значение минут в часе, то следуеть приравнять так:
C++
1
2
3
int hour, min, sec;
hour = sec/3600;
min = (sec-hour*3600)/60;
В этом случае, если количество секунд, например, будет опять-таки 14550, полных часов так и останется 4, а полных минут в часе получится 2. То есть фактически тебе показывает текущее время, зная секунды: 4ч 2м.
Ламер
5 / 5 / 0
Регистрация: 25.10.2009
Сообщений: 13
27.10.2009, 01:31     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #9
Присоединяюсь к предыдущему оратору с одним дополнением:
будь внимательнее с именами переменных "hour" и "hours" - разные переменные
а код получился твой таким:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main()
{
        int hour,min,sec;
        printf("Idet Secunda \n");
        cin>>sec;
        hour=sec/3600;
        min=(sec-hour*3600)/60;
        sec=(sec-hour*3600-min*60);
 
        printf("Proshlo Vremeni \n Hour:%d min:%d sec:%d \n", hour,min,sec);
        return 0;
}
RWR
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
27.10.2009, 07:00  [ТС]     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #10
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
        int hour,min,sec;
        printf("Idet Secunda");
        scanf("%d", sec);
        min = sec/60;
        hour = sec/3600;
        printf("Proshlo Vremeni \n Hour:%d min:%d \n", hour,min);
        return 0;
}
 
manfeese, тогда должно быть вот так, а прога не работает
 
[SIZE=1][COLOR=grey][I]Добавлено через 5 минут[/I][/COLOR][/SIZE]
int main()
{
        int sec;
        float hour,min;
        printf("Idet Secunda");
        scanf("%d", sec);
        min = sec/60;
        hour = sec/3600;
        printf("Proshlo Vremeni \n Hour:%.1f min:%.1f \n", hour,min);
        return 0;
}
прога работаетвот таком виде но результат выдает неправильный
если секунд 65, то часов прошло 596483, а минут 35789004
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 10:37     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #11
Ошибка в восьмой строке!
C++
1
scanf("%d", sec);
Эта функция предполагает записи не самой переменной а ее адреса, то есть
C++
1
scanf("%d", &sec);
LLLob
22 / 22 / 5
Регистрация: 21.10.2009
Сообщений: 38
27.10.2009, 12:32     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #12
Вот реализация этой программы на языке С++
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
30
31
32
33
34
#include<iostream>
#include<windows.h>
using namespace std;
void main()
{
    SetConsoleOutputCP(1251);
    int k, m, h;
    cout<<"Введите k-секунду\n";
             cin>>k;
    if(k<60)
    {
        cout<<"Не прошло ни одной полной минуты"<<endl;
        cin.get();
        cin.get();
    }
    else
    {
    if(k<3600 && k>=60)
    {
        m=k/60;
        cout<<"Прошло полных "<<m<<" минут(ы)"<<endl;
        cin.get();
        cin.get();
    }
    else
    {
        h=k/3600;
        m=(k-(3600*h))/60;
        cout<<"Прошло полных "<<h<<" часов(а)"<<endl;
        cout<<"Прошло полных "<<m<<" минут(ы)"<<endl;
        cin.get();
        cin.get();
    }
    }
Здесь осуществляется проверка: прошло меньше минуты, прошло меньше часа, прошло больше часа - исходя из этого ведется подсчет полных минут, часов
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 14:45     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #13
если вычислять время по текущей секунде, то можно еще использовать такой метод приравнения:

C++
1
2
3
 hour=sec/3600;
min=(sec%3600)/60;
sec=(sec%3600)%60;
По-моему работает чуть-чуть быстрее, чем мой предыдущий пример

C++
1
2
3
4
        
hour=sec/3600;
min=(sec-hour*3600)/60;
sec=(sec-hour*3600-min*60);
Добавлено через 23 минуты
Вот пример такой проги, в которой входящие секунды принимают любое значение от 0 и до ...максимального значения int.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
 
void TimeBySecond(int &Hour,int &Min, int &Sec)
{
  Hour = (Sec/3600)%24;
  Min = (Sec%3600)/60;
  Sec = (Sec%3600)%60;
}
 
int main()
{
    int h,m,s;
    cout<<"Input seconds: ";  cin>>s;
 
    TimeBySecond(h,m,s);
    cout<<"Time: "<<h<<":"<<m<<":"<<s;
        cin.get();
        cin.get();
    return 0;
}
Добавлено через 8 минут
А если вычислять полные часы и минуты в сутках, то вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
 
void FullBySecond(int &Hour,int &Min, int &Sec)
{
  Hour =Sec/3600;
  Min = Sec/60;
}
 
int main()
{
    int h,m,s;
    cout<<"Input seconds: ";  cin>>s;
 
    FullBySecond(h,m,s);
    cout<<"Full hours: "<<h;
    cout<<"\nFull minutes:"<<m;
        cin.get();
        cin.get();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2009, 14:58     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту.
Еще ссылки по теме:
Определить наименьшее число полных минут до момента, когда часовая и минутная стрелка на циферблате совпадут C++
Вычислить количество дней, полных месяцев, и полных лет, прошедших между датами C++
Определить наименьшее время (число полных минут), которые должны пройти до того момента, когда часовая и минутная стрелки на циферблате совпадут C++
ОПРЕДЕЛИТЬ ВОЗРАСТ ЧЕЛОВЕКА (ЧИСЛО ПОЛНЫХ ЛЕТ ) C++
сколько человек прожил месяцев, дней, часов, минут, секунд C++

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

Или воспользуйтесь поиском по форуму:
RWR
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
27.10.2009, 14:58  [ТС]     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. #14
спасибо, manfeese, я разобрался

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
        int sec,hour,min;
        printf("Idet Secunda");
        scanf("%d", &sec);
        hour=sec/3600;
        min=(sec-hour*3600)/60;
        printf("Proshlo Vremeni \n Hour:%d min:%d \n", hour,min);
        return 0;
}
работающая на С
Yandex
Объявления
27.10.2009, 14:58     Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru