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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
Старый 02.11.2012, 20:50   #1
dzhaparov
 
Регистрация: 02.11.2012
Сообщений: 3
По умолчанию Два треугольника заданы координатами вершин А,В,С. Вычислить и сравнить площади треугольников (С++)

помогите пожалуйста с задачей, которую надо решить на с++:
Два треугольника заданы координатами своих вершин А,В,С. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь. При решении задачи использовать следующие данные: для первого треугольника А(1.1),В(5,2),С(3,3), для второго А(2,5),В(4,3),С(6,4). площадь треугольника заданного вершинами А(х1,у1),В(х2,у2),С(х3,у3) вычисляется по формуле S=0.5|(х2-х1)(у3-у1)-(х3-х1)(у2-у1)|/ вычисление площади оформить в виде функции. заранее спасибо
dzhaparov вне форума Ответить с цитированием
Старый 02.11.2012, 22:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В качестве идеи:
Код:
#include <math.h>
double squa(double *a,double *b, double *c){return 0.5*abs((b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1])); }

int _tmain(int argc, _TCHAR* argv[])
{
	double a[]={1,1},b[]={5,2},c[]={3,3};
	printf("%5.2f",squa(a,b,c));getchar();
	return 0;
}
Пойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2012, 22:34   #3
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Код:
#include <iostream>
struct COORD
{
/* cтруктура, описывающая координаты треугольника
   создано два массива структур для обоих треугольников
*/
	int X;
	int Y;
}Triangle1[3],Triangle2[3];
float Sqare(COORD *pa)
{
	float s;
	s = 0.5 * abs((pa[1].X - pa[0].X) * (pa[2].Y-pa[0].Y) - (pa[2].X - pa[0].X) * (pa[1].Y - pa[0].Y));
	return s;
}
using namespace std;
void main ()
{
	float s1,s2;
	cout << "Triangle1\n";
	for (int i=0;i<3;i++)
	{
		cout << "Enter X:";
		cin>>Triangle1[i].X;
		cout <<"Enter Y:";
		cin>>Triangle1[i].Y;
	}
	cout << "Triangle2\n";
	for (int i = 0;i<3;i++)
	{
		cout << "Enter X:";
		cin>>Triangle2[i].X;
		cout <<"Enter Y:";
		cin>>Triangle2[i].Y;
	}
	s1 = Sqare(Triangle1);
	s2 = Sqare(Triangle2);
	cout << s1 << " " << s2 << endl;
	system("pause");

}
Формулу поточнее напиши. А то такой формулы площади не видел)
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com

Последний раз редактировалось kventin_zhuk; 02.11.2012 в 22:37. Причина: Доработка
kventin_zhuk вне форума Ответить с цитированием
Старый 03.11.2012, 19:11   #4
dzhaparov
 
Регистрация: 02.11.2012
Сообщений: 3
По умолчанию

такая пойдет: sqr=(p+(p-s1)*(p-s2)*(p-s3))^(1/2)
где p находится по формуле (s1+s2+s3)/2
а s1s2,s3 стороны

int _tmain(int argc, _TCHAR* argv[]) что означает это строка я никак не могу понять

Последний раз редактировалось Stilet; 05.11.2012 в 19:45.
dzhaparov вне форума Ответить с цитированием
Старый 05.11.2012, 19:46   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это описание главной функции программы. Новомодное. Зависит от компилятора.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.11.2012, 20:04   #6
dzhaparov
 
Регистрация: 02.11.2012
Сообщений: 3
По умолчанию

теперь понятно, но я пробовал её довести до ума но никак целая куча ошибок, а та которая решена с помощью структур не пойдет, там тоже две ошибки но я их исправил все норм, но препод сказал не пойдет нужно с помощью функций
dzhaparov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Три точки заданы декартовыми координатами.Вычислить и выдать на печать полярные координаты этих точек sanekmihailow Паскаль, Turbo Pascal, PascalABC.NET 1 28.06.2012 21:00
На языке Си++ Определить, лежит ли данная точка на одной из сторон треугольника, заданного координатами его вершин. Марисабель Помощь студентам 1 02.12.2011 19:11
Определите, лежит ли данная точка на одной из сторон треугольника, заданного координатами его вершин. Марисабель Помощь студентам 0 02.12.2011 18:20
вычислить периметр треугольника если даны координаты 3-х вершин(алгоритм функции) (Паскаль) анжелка Помощь студентам 2 03.04.2011 13:33