Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/229: Рейтинг темы: голосов - 229, средняя оценка - 4.97
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73

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

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

Студворк — интернет-сервис помощи студентам
помогите, не пойму как это подсчитать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2009, 19:47
Ответы с готовыми решениями:

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

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

Определить число полных часов и число полных минут, прошедших с начала суток
С начала суток часовая стрелка повернулась на y градусов (0<=y<=360, y - вещественное число). Определить число полных часов и число полных...

13
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
26.10.2009, 19:52
C++
1
2
3
int hour, min, sec;
min = sec/60;
hour = sec/3600;
Вот и все по-моему. Че тут сложного?
1
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
26.10.2009, 19:54  [ТС]
manfeese," / "- вычисляет целочисленное деление? прост я с ним не встречался
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
26.10.2009, 19:58
есть у меня заначка

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");
}
1
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
26.10.2009, 22:21  [ТС]
Цитата Сообщение от 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;
}
подскажите что не так
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
26.10.2009, 22:25
RWR,
" / "- вычисляет целочисленное деление? прост я с ним не встречался
если делишь целые числа, то дробная часть отбрасывается. для вещественных - всё как положено.
1
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
26.10.2009, 23:20  [ТС]
Rififi, спасибо я с этим уже разобрался

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

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

Добавлено через 33 минуты
ну я уверен что решается все очень просто, только как сделать так, чтобы прога работала
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 00:50
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м.
0
5 / 5 / 2
Регистрация: 25.10.2009
Сообщений: 13
27.10.2009, 01:31
Присоединяюсь к предыдущему оратору с одним дополнением:
будь внимательнее с именами переменных "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;
}
0
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
27.10.2009, 07:00  [ТС]
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
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 10:37
Ошибка в восьмой строке!
C++
1
scanf("%d", sec);
Эта функция предполагает записи не самой переменной а ее адреса, то есть
C++
1
scanf("%d", &sec);
0
22 / 22 / 7
Регистрация: 21.10.2009
Сообщений: 38
27.10.2009, 12:32
Вот реализация этой программы на языке С++
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();
    }
    }
Здесь осуществляется проверка: прошло меньше минуты, прошло меньше часа, прошло больше часа - исходя из этого ведется подсчет полных минут, часов
1
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 14:45
если вычислять время по текущей секунде, то можно еще использовать такой метод приравнения:

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;
}
1
5 / 5 / 0
Регистрация: 19.10.2009
Сообщений: 73
27.10.2009, 14:58  [ТС]
спасибо, 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;
}
работающая на С
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2009, 14:58
Помогаю со студенческими работами здесь

C++ Идёт k-я секунда суток. Определите, сколько целых часов h и целых минут m прошло с начала суток
Идёт k-я секунда суток. Определите, сколько целых часов h и целых минут m прошло с начала суток. Например, если k=13257=33600+4060+57,...

Определить значение угла для минутной стрелки, а также количество полных часов и полных минут
вот задание Часовая стрелка образует угол у с лучом, проходящим через центр и через точку, соответствующую 12 часам на циферблате....

С начала суток часовая стрелка повернулась на "y" градусов. Сколько часов и минут прошло с начала суток?
С начала суток часовая стрелка повернулась на &quot;y&quot; градусов. Сколько часов и сколько минут прошло с начала суток? #include...

Вычислить сколько полных недель прошло между указанными датами
Заданы натуральные числа а1, b1, a2, b2, которые обозначают числа и номера месяцев не високосного года (год один и тот же). Вычислить...

Задана дата d.m.g. Сколько полных кварталов прошло от начала этого года
Задана дата d.m.g. Сколько полных кварталов прошло от начала этого года?


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru