Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2011, 21:54   #1
studentAn
Новичок
Джуниор
 
Регистрация: 20.11.2011
Сообщений: 1
По умолчанию Задача, угол между стрелками циферблата часов.

Задача, угол между стрелками циферблата часов.
собственно когда двигается минутная стрелка то двигается на определенный градус и стрелка часов. нужен именно наименший угол.
пытался пытался почему с некоторыми значениями часов дается неправильные ответы.
Код:
#include<iostream>
#include<conio.h>
using namespace std; 
void main()
{
   int hh,mm;
   float gdf,grmin,grhour,grhofm,grhourf,gd,n;
   cout<<"vedite hh";
   cin>>hh;
   cout<<"vedite mm";
   cin>>mm;
   if (hh>=12)
   {hh=hh-12;}
   if(hh>12||mm>60)
   {cout<<"baran Na>I<Mu KHOnKy";
   n=_getch();
   if (n>0){exit(1);}}
   grmin=(360/60)*mm;
   grhour=(360/12)*hh;
   grhofm=(30/60)*mm;
   grhourf=grhour+grhofm;
   gd=grmin-grhourf;
   if (gd<0)
   {gd=grhour-grmin;}
   cout<<gd;
   getch();
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.11.2011 в 09:22.
studentAn вне форума Ответить с цитированием
Старый 21.11.2011, 03:32   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Цитата:
Сообщение от studentAn Посмотреть сообщение

{cout<<"baran Na>I<Mu KHOnKy";
n=_getch();
if (n>0){exit(1);}}
Интересная конструкция.

По делу не понял зачем столько понаписали.
Код:
//1 min = 6 градусам на минутной стрелке
//1 min = 0.5 градусам на часовой(360/12/60)
//1 h = 30 градусам на часовой
float h,m,gr;
cin>>h;
cin>>m;
if(m>60 || m<0 || h>24 ||h<0){cout<<"error"<<endl; return 1;}
h=h%12;
gr=fabs((h*30+0.5*m) - m*6); //модуль разности градусной меры поворота часовой и минутной стрелки
if(gr>180) gr=360-gr;// вывести наименьший угол
cout<<gr;
return 0;
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual Basic: Найти угол между векторами daroran Помощь студентам 2 14.02.2011 13:44
delphi. Подпрограммы. Определить угол А между векторами Х и У prettykatty Помощь студентам 11 28.06.2010 09:58
часы показывают m часов, n минут и k секунд. Каковы будут показатели часов через p часов, q минут и r сек Паскалька^^ Помощь студентам 3 11.10.2009 19:41
Угол между прямыми VictorS Помощь студентам 5 12.08.2009 17:32