Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
DJAMEL
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 21
1

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы

16.12.2015, 14:33. Просмотров 546. Ответов 5
Метки нет (Все метки)

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента когда часовая и минутная стелка совпадут. Т е когда угол часовой стрелки и минутной будут равны. Вот отрывок задачи но я не могу полностью разобраться как именно нужно нааписать код.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  private void button1_Click(object sender, EventArgs e)
        {
 
            int gmin,gchas;
// время от куда мы стартуем
            int chas = Convert.ToInt32(textBox1.Text); //Часы которые вводим
            int min = Convert.ToInt32(textBox2.Text); // минуты
            gchas = chas * 30; // определяем угол  для часовой стрелки
            gmin = min * 6; // определяем угол  для минутной стрелки
// выбрал  цикл  с постусловием            
do
            {
                if (min == 60) min = 1; // проверка на то если минуты дошли до 60 то ставим в начало т е  с 1 минты
                min++; 
                gmin = gmin++; // при каждом увеличении минуты увеличииваем угол на 6 градусов
                gchas =gchas +6; //увеличение на 1 градус часовой стрелки
                
            }
            while (gmin == gchas); // если углы равны то 
             label3.Text = Convert.ToString(min);// выводим сколько минут прошло до того как совпали часовая стрелка и минутная .
Почему минуту увеличивает только один раз?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2015, 14:33
Ответы с готовыми решениями:

Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы
Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) до того момента ...

Из секунд - часы, минуты и секунды. Из минут - часы, минуты
private void button4_Click(object sender, EventArgs e) { if (textBox3.Text ==...

Написать функцию перевода времени, заданного в секундах или минутах в часы, минуты, секунды
написать функцию перевода времени, заданного в секундах или минутах в часы, минуты, секунды....

Написать функцию которая получает два параметра – плановое и фактическое время прибытия поезда в формате часы:минуты
Предложите свое решение микрозадачи : написать функцию которая получает два параметра – плановое...

Преобразование часов из десятичного числа в стандартный формат времени (часы : минуты : секунды).
Ребята помогите, как осуществить в C# Преобразование часов из десятичного числа в стандартный...

5
Tyoma
236 / 75 / 24
Регистрация: 12.05.2010
Сообщений: 211
Завершенные тесты: 3
16.12.2015, 14:39 2
Нигде не сохраняется на сколько изменилось, только конечный результат, те выведется при скольких минутах он совпадут, а не через сколько ну и неверный перескок с 60 минут на 1, должно быть если пришло 60 стать 1, а не 2, лишний инкремент, ну и градусы после 360 не сбрасываются
0
Svorky
42 / 31 / 14
Регистрация: 27.04.2012
Сообщений: 150
16.12.2015, 14:49 3
Почему минуту увеличивает только один раз?
Потому что цикл должен быть такой
C#
1
while (gmin != gchas)
Ну и замечания Tyoma тоже учтите.
0
DJAMEL
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 21
17.12.2015, 17:23  [ТС] 4
Основная проблема состоит в том что я не знаю в каком порядке должны проходить действия. Не могли бы вы написать алгоритм решения задачи исходя из моего кода.

Добавлено через 21 час 1 минуту
Svorky, Смысл ставить цикл с предусловием?
0
Svorky
42 / 31 / 14
Регистрация: 27.04.2012
Сообщений: 150
17.12.2015, 19:57 5
Цитата Сообщение от DJAMEL Посмотреть сообщение
Смысл ставить цикл с предусловием?
Я не говорил про цикл с предусловием. Это в вашем коде в этой строке ошибка.
0
Макс221
16 / 16 / 24
Регистрация: 16.10.2015
Сообщений: 42
18.12.2015, 00:45 6
может мой вариант пригодится
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
 static void Main(string[] args)
        {
            int i=0,k=0,proxodpo0=0,vremyadlyadagona=0;
            int vremyM, vremy4,na4polMstrelki;
            Console.WriteLine("сейчас часов: ");
            vremy4=Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("сейчас минут: ");
            vremyM = Convert.ToInt32(Console.ReadLine());
            na4polMstrelki = vremyM;
            Console.WriteLine("Сейчас " + vremy4 + " часов " + vremyM + " минут");
            if (vremy4 >= 12)
            vremy4 = vremy4 - 12;
            double drob = (vremyM / 12);
            int brob1 = Convert.ToInt32(Math.Floor(drob)) * 6;
            int ugolM, ugol4;
            ugolM = vremyM*6;
            ugol4 = (vremy4 * 30) + brob1;
            Console.WriteLine("Часовая стрелка сейчас имеет угол " + ugol4);
            Console.WriteLine("Минутная стрелка сейчас имеет угол " + ugolM);      
            while (ugolM != ugol4)     
            { 
                vremyM=vremyM+1;
                if (vremyM >= 60)
                {
                    vremyM = 0;
                    vremy4++;
                    proxodpo0++;             
                }  
                i ++;
                ugolM = vremyM * 6;                
            }
            vremyadlyadagona = i;
            i = i + proxodpo0;
            i = i + (na4polMstrelki % 12);      
            double drob4 = i / 12;
            int y = Convert.ToInt32(Math.Floor(drob4));           
            ugol4 = ugol4 +(y*6);
                        while (ugolM != ugol4)
                        {
                            vremyM = vremyM + 1;
                            k++;
                            ugolM = vremyM * 6;
                        }
            int sovpad = vremyadlyadagona + k + proxodpo0;
            Console.WriteLine("Совпадение стрелок будет через " + sovpad + " минуты");
            Console.ReadKey();
        }
0
18.12.2015, 00:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2015, 00:45

Написать в отдельной функции ввод четырехзначного числа и отделить от него часы и минуты
Привет всем,как написать в отдельной функции ввод четырехзначного числа и отделить от него часы и...

Округлить время (часы, минуты, секунды) до часов, минут или до часов
Всем привет! Нужна помощь с исправлением программы на c#. По заданию нужно округлить время (часы,...

Класс "Время" с полями - часы, минуты, секунды
Класс время. Поля -часы,минуты,секунды. Перегрузки: +,-...


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

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

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