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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2012, 22:27   #1
Shonny94
Пользователь
 
Регистрация: 15.09.2012
Сообщений: 11
По умолчанию Заданы уравнения пересекающихся прямых на плоскости

Y=k1x+b1 и y=k2x+b2 найти угол в градусах и минутах между ними использую формулу tg=(k2-k1)/(1+k2*k1)

Последний раз редактировалось Shonny94; 15.09.2012 в 22:54.
Shonny94 вне форума Ответить с цитированием
Старый 15.09.2012, 22:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,829
По умолчанию

И чо? Сколько платите за выполнение вашей домашней работы?
p51x вне форума Ответить с цитированием
Старый 15.09.2012, 22:34   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Shonny94 Посмотреть сообщение
Y=k1x+b1 и y=k2x+b2 найти угол в градусах и минутах между ними использую формулу tg=(k2-k1)/(1+k2*k1)
Спасибо за информацию, только что она нам дает? Используйте на здоровье
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 22:55   #4
Shonny94
Пользователь
 
Регистрация: 15.09.2012
Сообщений: 11
По умолчанию

У меня не корректные числа получаются что не так?
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PI 3.1415
#define atan
void main ()
{
printf("Input k1,k2:");
int k1,k2,tfi,fi;
int u,m;
scanf("%i",&k1);
scanf("%i",&k2);
printf("tfi=%i,fi=%i\n",tfi,fi);
scanf("%i%i",&tfi,&fi);
tfi=(k2-k1)/(1+k1*k2);
fi=atan(tfi);
u=fi*(180/3.1415);
m=(180/3.1415)*60;
printf("u=%i,m=%i\n",u,m);
getch( );
}
Shonny94 вне форума Ответить с цитированием
Старый 15.09.2012, 23:04   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Думаю, грабли тут:

Код:
u=fi*(180/3.1415);
m=(180/3.1415)*60;
Должно быть:

Код:
u=fi*(180/3.1415);
m= (u-(int) u)*60;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 23:09   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

И кстати, для обозначения числа Пи существует константа M_PI в модуле Math.h (чтоб не писать постоянно 3.1415...)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 23:17   #7
Shonny94
Пользователь
 
Регистрация: 15.09.2012
Сообщений: 11
По умолчанию

Изменил, теперь в значении u и m всегда получается 0 независимо от чисел
Shonny94 вне форума Ответить с цитированием
Старый 15.09.2012, 23:30   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

У Вас u, видимо, и раньше принимала значение 0, потому что в вычислении m она никаким боком не участвовала. Вероятно, неправильно считается fi. Подозреваю, что из-за этих строчек:

Код:
#define PI 3.1415
#define atan
про PI я уже писал, а функция atan в math.h тоже определена, Вам ее тут дефинить незачем.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 23:39   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,829
По умолчанию

Грабли стандартные - запоминайте, если делить целое на целое, то будет целое. 3/5 = 0
p51x вне форума Ответить с цитированием
Старый 15.09.2012, 23:41   #10
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Грабли стандартные - запоминайте, если делить целое на целое, то будет целое. 3/5 = 0
И то верно...
Давненько я на Си не писывал, все в дельфях зависаю... Надо бы самому повспоминать
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка файловых структур данных - анализ прямых на плоскости, заданных коэфициентами уравнения ax+by+c=0 (делфи) ander111 Помощь студентам 0 19.12.2011 02:32
Задано множество прямых на плоскости darya17 C++ Builder 1 02.06.2011 06:28
Пересечение 2 прямых на плоскости не могу найти. Дима я Общие вопросы C/C++ 3 22.05.2011 12:30
Задача о взаимном расположении прямых на плоскости Dimbaler Помощь студентам 5 17.02.2011 13:25