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

Задача через сколько минут будет 90 градсов

19.12.2013, 12:23. Показов 1543. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задали программу: Задано время в часа и минутах. Определить через сколько минут часовая и минутная стрелки будут образовывать угол в 90 градусов (Часовая стрелка перемещается дискретно, т. е. по часу) . Не могу подобрать формулу, которая расчитывала бы все случаи. Есть предложения?
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
// лаба 2ц.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "math.h"
 
using namespace std;
 
void main(void)
 
{setlocale(LC_ALL, "Russian");
    int n, m, d,c,a;
char ans='y';
while (ans=='y' || ans=='Y')
 
    {cout<<"Введите часы: ";
    cin>>n;
    cout<<"Введите минуты: ";
    cin>>m;
    d=5*n;
    c=m-d;
    a=d-m;
 
    if ((13<=n) || (60<=m)) 
    cout<<"Некорректно введены данные. Проверьте, чтобы значение часа было положительным и меньше 12, а значение минут было положительным и меньше 60.                     Хотите повторить ввод? Y/N ";
    else if (c==15 || a==15) cout<<"Угол между стрелками 90 градусов. Хотите повторить ввод? Y/N ";
    else if (m>30) cout<<"Через "<<abs(m-15-d)<<" минут угол между часовой и минутной стрелкой будет 90 градусов.  Хотите повторить ввод? Y/N  ";
    else if (m<30) cout<<"Через "<<abs(d-m-15)<<" минут угол между часовой и минутной стрелкой будет 90 градусов.  Хотите повторить ввод? Y/N  ";
    else if (m=d) cout<<"Через "<<15<<" минут угол между часовой и минутной стрелкой будет 90 градусов.  Хотите повторить ввод? Y/N  ";
    cin>>ans;}
 
system ("pause");}
Добавлено через 11 часов 57 минут
Ну, помогите плиз!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2013, 12:23
Ответы с готовыми решениями:

Через сколько минут в бульоне будет 1000 бактерий?
16. Из воздуха в питательный бульон попала бактерия и начала размножаться. Каждую минуту каждая бактерия рождает ещё одну. Но каждые 5...

Сколько минутная стрелка будет показывать через m минут?
Минутная стрелка показывает mn минут. Сколько она будет показывать через dmn минут? Например, показывает 7 минут, а через 71 минуту...

Написать программу определения сколько бактерий будет через N минут
Все здрасте, помогите написать программу ! (Осталось всего 3 программы написать эти самые сложные оказались) Решение задач в 3...

7
38 / 38 / 22
Регистрация: 16.04.2013
Сообщений: 327
Записей в блоге: 1
19.12.2013, 13:06
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    int temp;
    for(int i=0;i<24;i++)
        for(int j=0;j<60;j+=5)
        {
            temp=i;
            if(temp>12)
                temp-=12;
            if(abs(temp-float(j)/5)==3 || abs(temp-float(j)/5)==9)
                cout<<"Hours: "<<i<<"  Minute: "<<j<<endl;
        }
    getch();
}
мне курсач нужно делать. зачем я это писал..
1
5 / 5 / 1
Регистрация: 17.12.2013
Сообщений: 10
19.12.2013, 13:22
ну и дополню свой вариантик, не зря же писал)
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
using namespace std;
 
 
int main()
{
    int hour=0;
    int min=0;
    int counter=0;
    while(hour!=12)
    {
        if(min==60)
        {
            hour++;
            min=0;
        }
        //cout<<hour<<" "<<min<<endl;;
        if(abs(min-hour*5)==15 || abs(min-hour*5)==45)
        {
            counter++;
            cout<<hour<<" "<<min<<" 90"<<endl;;
        }
        min++;
    }
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 8
19.12.2013, 13:28  [ТС]
спасибо конечно, все работает, вот только нужно ввести время самому в консоль и она тебе выводила количество минут, через которое угол будет 90 градусов


Добавлено через 14 секунд
korlend, не запускается
0
5 / 5 / 1
Регистрация: 17.12.2013
Сообщений: 10
19.12.2013, 17:38
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
35
36
37
38
39
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL,"rus");
    int hour=-1;
    int min=-1;
    int counter=0;
    while((hour<0 || hour>12) || (min<0 || min>60))
    {   
        system("cls");
        cout<<"введите последовательно часы и минуты"<<endl;
        cin>>hour>>min;
    }
    while(hour!=12)
    {
        if(min==60)
        {
            hour++;
            min=0;
        }
        if(abs(min-hour*5)==15 || abs(min-hour*5)==45)
        {
            cout<<"через "<<counter<<" минут будет 90 градусов"<<endl;
            break;
        }
        counter++;
        min++;
        if(hour==11 && min==60)
            hour=0;
    }
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 8
19.12.2013, 18:04  [ТС]
korlend, спасибо!
0
5 / 5 / 1
Регистрация: 17.12.2013
Сообщений: 10
19.12.2013, 20:23
прощу прощения, кое что упустил, при вводе 11-ти часов и минут 45+ считало бы неправильно
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
35
36
37
38
39
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL,"rus");
    int hour=-1;
    int min=-1;
    int counter=0;
    while((hour<0 || hour>12) || (min<0 || min>60))
    {   
        system("cls");
        cout<<"введите последовательно часы и минуты"<<endl;
        cin>>hour>>min;
    }
    while(hour!=12)
    {
        if(min==60)
        {
            hour++;
            min=0;
        }
        if(abs(min-hour*5)==15 || abs(min-hour*5)==45)
        {
            cout<<"через "<<counter<<" минут будет 90 градусов"<<endl;
            break;
        }
        counter++;
        min++;
        if(hour==11 && min==60)
            hour=-1;
    }
    system("pause");
    return 0;
}
0
118 / 110 / 78
Регистрация: 30.01.2013
Сообщений: 297
19.12.2013, 22:13
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
35
36
37
38
39
40
#include <iostream>
#define segment 5
 
int main(void){
    setlocale(LC_ALL,"rus");
 
    size_t hour;
    size_t minute;
    size_t left, right;
 
    do{
        system("CLS");
        std::cout << "Часы (hh): ";
        std::cin >> hour;
        std::cout << "Минуты (mm): ";
        std::cin >> minute;
    }while((hour > 12 || hour <= 0) || (minute > 59 || minute < 0));
 
    std::cout << "Ближайшие 90 градусов через: ";
 
    if(hour*segment-15 <= 0) 
        left = 75 - hour*segment;
    else 
        left = hour*segment - 15;
 
    if(hour*segment + 15 > 60)
        right = hour*segment - 45;
    else 
        right = hour*segment + 15;
 
    if(minute >= right)
        std::cout << (60 - minute) + left;  
    else if(minute < left)
        std::cout << left - minute;
    else std::cout << right - minute;
 
    std::cout << " минут(-у/-ы)" << std::endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2013, 22:13
Помогаю со студенческими работами здесь

На сколько минут раньше будет заканчиваться k-ый урок, если все перемены сократили на 5 минут
Привет всем! Нужно написать очень простую программу для решения очень простой задачи: Требуется подсчитать, на сколько минут раньше будет...

На сколько минут будет раньше заканчиваться урок K-й, если все перемены сократить на 5 минут?
У меня есть задачка:на сколько минут будет раньше заканчиваться урок K-й, если все перемены сократить на 5 минут. Вводить K меньше или...

Задача про лотосы: за сутки каждый лотос делится пополам. Определить сколько будет через месяц.
Решите задачи на C++(в виде кода программы) 1.В озере растут лотосы. За сутки каждый лотос делится пополам, и вместо одного лотоса...

Сколько минут будет длиться пожар?
Склад, имеющий форму квадрата со стороной N (1 &lt;= N &lt;= 1000), разбит на пронумерованные слева направо по строкам единичные квадраты...

Определить, сколько будет червячков по истечении времени, при условии их деления на два каждые 10 минут
Червячки-интересные животные. Если их оставить вдвоём и не беспокоить, то через 10 минут их станет 4, через 20 минут 8, через 30 минут 16...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru