Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Turbo C] Вычисление косинуса угла треугольника,


Автор: zirogo 22.5.2006, 16:37
Пожалуйста кто знает как решать, напишите код!!! Please!

Используя типы TPoint, TTriangle и ф-ию Leng описать ф-ию cos A(T) вещественного типа, находящую косинус угла САВ треугольника Т (Т - параметр типа TTriangle) по теореме косинуса cos CAB=(AB^2+AC^2-BC^2)/AB*AC
^- это степень 

Автор: MAKCim 22.5.2006, 19:44
Код

#include <math.h>

double sqr(double value) {return value*value;}

typedef struct
{
    int x_, y_;
} TPoint;

typedef struct
{
    TPoint points_[3];
} TTriangle;

double length(TPoint* p_a, TPoint* p_b)
    {return sqrt(sqr(abs(p_a->x_-p_b->x_))+sqr(abs(p_a->y_-p_b->y_)));}

double cos_angle(TTriangle* p_triangle)
{
    double AB=length(p_triangle->points_,p_triangle->points_+1),
        BC=length(p_triangle->points_+1,p_triangle->points_+2),
        AC=length(p_triangle->points_,p_triangle->points_+2);
    return (AB*AB+AC*AC-BC*BC)/(AB*AC);
}
  

Автор: zirogo 22.5.2006, 21:05
я подключил бибилиотеки, там прикол с sqr - такого в Turbo нет, а я расписал как произведение он не запускает ошибки выдает! пожалуйста напишите код!

Добавлено @ 21:12 
Код

#include <iostream.h>
#include <conio.h>
#include <math.h>

double sqr(double value) {return value*value;}

typedef struct
{
    int x_, y_;
} TPoint;

typedef struct
{
    TPoint points_[3];
} TTriangle;

double length(TPoint* p_a, TPoint* p_b)
    {return sqrt(sqr(abs(p_a->x_-p_b->x_))+sqr(abs(p_a->y_-p_b->y_)));}

double cos_angle(TTriangle* p_triangle)
{
    double AB=length(p_triangle->points_,p_triangle->points_+1),
        BC=length(p_triangle->points_+1,p_triangle->points_+2),
        AC=length(p_triangle->points_,p_triangle->points_+2);
    return (AB*AB+AC*AC-BC*BC)/(AB*AC);
}




вылазиет ошибка: undefined symbol _main in module c0.ASM  

Автор: b44 24.5.2006, 05:52
 вылазиет ошибка: undefined symbol _main in module c0.ASM  

Это что зтачит ктото отрывок с ассемблера прибацал????  Я тоже на Turbe запускал касяк такой же вылазиет!!!

sqr(abs(p_a->x_-p_b->x_))

пробовал заменить на 

abs(p_a->x_-p_b->x_)*abs(p_a->x_-p_b->x_)

так как в Turbe нету sqr!!!

Таже самая ошибка!!! 

Автор: mr.Anderson 24.5.2006, 17:25
Чего паритесь, люди, в данном коде sqr - пользовательская функция. Вот только могу предположить, что это вызывает конфликт с уже существующей в каком-нить заголовочном файле такой функции... Попробуйте sqr заменить, например, на sqr1.

Добавлено @ 17:27 
Кто не понял, сделать вот так:
Код

#include <iostream.h>
#include <conio.h>
#include <math.h>

double sqr1(double value) {return value*value;}

typedef struct
{
    int x_, y_;
} TPoint;

typedef struct
{
    TPoint points_[3];
} TTriangle;

double length(TPoint* p_a, TPoint* p_b)
    {return sqrt(sqr1(abs(p_a->x_-p_b->x_))+sqr1(abs(p_a->y_-p_b->y_)));}

double cos_angle(TTriangle* p_triangle)
{
    double AB=length(p_triangle->points_,p_triangle->points_+1),
        BC=length(p_triangle->points_+1,p_triangle->points_+2),
        AC=length(p_triangle->points_,p_triangle->points_+2);
    return (AB*AB+AC*AC-BC*BC)/(AB*AC);

 

Автор: Cr@$h 4.10.2006, 05:04

M
Cr@$h
На будущее, прошу обратить внимания на мои замачания:

Модератор: Пожалуйста, один топик - один вопрос.
Модератор: Название темы должно отражать ее суть!
Модератор: Давайте вернёмся к теме обсуждения.
Правила форума: http://forum.vingrad.ru/index.phps=&act=SR&f=27

 ! 
Cr@$h
Господи! Ужас! Что же это творилось тут такое? Я ели осознал всё это, пока разгребал. Только посмотрите:
  • в этой теме было удалено 16 постов;
  • выделена дважды решённая тема "[C] На интервале (1000, 9999) найти все простые числа обладающие заданным свойством" (4 поста);
  • выделена решённая тема "[C] Найти число повторяющееся в массиве максимальное количество раз" (2 поста);
  • выделена дважды решённая тема "[C] Слияние двух упорядоченных массивов" (5 постов);
  • выделена дважды решённая тема "[C] выяснить, входят ли в строку все символы, входящие в слово STRING" (4 поста);
  • выделена нерешённая тема "[Turbo C 2.0] Даны натуральные числа n, m.Для них: получить сумму m последних цифр числа n" (2 поста);
  • все необходимые посты были соответствующим образом отредактированы;
  • в этой теме оставлено только 6 постов, не являющихся флудом и флеймом.
Я не поставил никому предупреждений только потому, что хочу забыть это как страшный сон. Собственно, как кошмар и получился: это последняя тема в Центре помощи, над которой я сегодня работал ночью.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)