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

Задано время в часа и минутах. Определить через сколько минут часовая и минутная стрелки будут образовывать угол в 90 гр

19.11.2018, 18:12. Показов 4534. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!!! Препод ввел 9 часов 31 минута и программа сломалась, вывела 29 минут и угол не стал 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <stdio.h>
#include <locale>
#include "pch.h"
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
 
float hour;
 
bool proverka1(float hour)
{
    if ((hour > 0 && hour < 24 || hour == 0) && (hour -  (int) hour == 0))
    {
        return true;
    }
    else
    {
        return false;
    }
}
 
float min;
 
bool proverka2(float  min)
{
    if ((min > 0 && min < 60 || min == 0) && (min - (int) min == 0))
    {
        return true;
    }
    else
    {
        return false;
    } 
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    float min, hour, h;
    float  k = 0;
 
    printf("Введите час:\n");
    cin >> hour;
    printf("Введите минуты:\n");
    cin >> min;
 
    if ((proverka1(hour) == true) && (proverka2(min) == true))
    {
        while (hour > 11)
        {
            hour = hour - 12;
        }
        
        h = hour * 5;
        h = h - min;
 
        if (h == 15 || h == -15 || h == -45 || h == 45)
        {
            printf("Угол уже равен 90 градусов\n");
        }
        else
        {
            if (h > 15)
            {
                for (; h > 15; h = h - 1)
                    k = k + 1;
            }
 
            if (h < 15)
            {
                for (; h > -15; h = h - 1)
                    k = k + 1;
            }
 
            if (h < -15)
            {
                for (; h > -45; h = h - 1)
                    k = k + 1;
            }
 
            if ((hour != 2 && min >= 45) || (hour != 1 && min >= 45))
            {
                k = k + 5;
            }
 
            if ((hour == 1 && min >= 45) || (hour == 2 && min >= 45))
            {
                k = k - 5;
            }
 
            if (hour == 1 && min >= 55)
            {
                for (; h > -85; h = h - 1)
                    k = k + 1;
                k = k - 5;
            }
            printf("%2.f\n", k);
        }
    }
    else
    {
        printf("Данные введены некорректно. Проверьте введенные значения\n");
    }
 
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2018, 18:12
Ответы с готовыми решениями:

Задано время в часа и минутах. Через сколько минут часовая и минутная стрелки будут образовывать угол в 90 градусов?
6. Задано время в часа и минутах. Определить через сколько минут часовая и минутная стрелки будут образовывать угол в 90 градусов

Определить наименьшее время, когда часовая и минутная стрелки будут перпендикулярны друг другу
Добрый вечер! Подскажите, пожалуйста, алгоритм вот такой прожки: Ввести целые числа m (0 ≤ m ≤ 12) и n (0 ≤ n...

Определить время до момента, когда часовая и минутная стрелки на циферблате будут перпендикулярны друг другу
Не могу написать программу на языке Си. Помогите пожалуйста. Заранее Спасибо! Целые числа m и n определяют время суток...

2
1 / 1 / 0
Регистрация: 19.11.2018
Сообщений: 9
19.11.2018, 20:50
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Rus");
    char c;
    int h, m, v=0;
    cout << "Введите часы \n";
    cin >> h;
    cout << "Введите минуты \n";
    cin >> m;
    cin.get(c);
    while (h > 24 || h < 0 || m > 59 || m < 0 || c != '\n' || (h == 24 && m > 0)) 
    {
        cout << "Некорректные данные!!! \n" << "Повторите ввод!!! \n";
        cin >> h >> m;
        cin.get(c);
    }
    if (h >= 12)
    {
        h = h - 12;
    }
    if (h == 0 || h == 12)
    {
        h = 0;
    }
    else
    {
        h = h * 5;
    }
    if (h == m + 15 || h == m - 15) 
    {
        cout << "Угол итак равен 90 \n";
    }
    while (abs(h - m) != 15 && abs(h - m) != 45)
    {
        m++;
        v++;
        if (m == 60)
        {
            h = h + 5;
            if (h == 60)
            {
                h = 0;
            }
        }
    }
    if (v > 0)
    {
        cout << "Через " << v << " минут будет образован угол в 90 градусов \n";
    }
    system("PAUSE");
    return 0;
}
0
22 / 16 / 6
Регистрация: 13.11.2016
Сообщений: 24
19.11.2018, 21:59
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
41
42
#include <iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
 
inline int diff(int hours, int min)
{
 
    auto b = div(min, 10);
    int h_min = hours * 5 + b.quot;
    if (abs(h_min - min) == 15)
        return 0;
    else
    {
        int difference = 0;
 
        while (abs(h_min - min) != 15)
        {
            ++min;
            ++difference;
            if (min % 10 == 0)
                ++h_min;
            if (h_min == 60)
                h_min = 0;
        }
        return difference;
 
    }
 
 
}
int main()
{
    setlocale(LC_ALL, "Rus");
 
    int h, m;
    cout << "Введите часы \n";
    cin >> h;
    cout << "Введите минуты \n";
    cin >> m;
    cout << "Через " << diff(h, m) << " минут(ы) будет образован угол в 90 градусов \n";
}
Добавлено через 7 минут
Kirill1980 Если что отличие моего кода от ImDr только в том, что у меня учитывается смещение стрелки.Но я как понял в задаче это не особо важно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2018, 21:59
Помогаю со студенческими работами здесь

Определить наименьшее время (число полных минут), которые должны пройти до того момента, когда часовая и минутная стрелки на циферблате совпадут
Нужно ввести целые числа m и n (часы и минуты), 0 &lt;= m &lt;= 11, 0 &lt;= n &lt;= 59, которые определяют время суток. Определить наименьшее время...

Через сколько секунд часовая и минутная стрелки совместятся
Время, которое показывают часы задано в часах, минутах и секундах. Определите, через сколько секунд часовая и минутная стрелки совместятся.

Определить наименьшее время до того как часовая и минутная стрелки совпадут
Даны целые числа h,m (0&lt;h&lt;=12,0&lt;=m&lt;=59),указывающие момент времени: h часов,m минут.Определить наименьшее время(число полных минут),которое...

Определить наименьшее время до того момента, когда часовая и минутная стрелки расположатся перпендикулярно
Добрый день. Помогите разобраться? есть задача 1) Даны целые числа M и N (0&lt;M&lt;=12, 0&lt;=N&lt;=60), указывающие момент времени: «M...

Число минут когда часовая и минутная стрелки совпадут
Помогите найти ошибку/причину в коде (условия задачи ниже), не проходят 2 теста (скрин во вложении) На вход программе подаются два...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru