Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mashuta_ya
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 10
#1

Площадь треугольника! - C++

04.11.2010, 00:35. Просмотров 677. Ответов 1
Метки нет (Все метки)

Пытаюсь написать программу для вычисления площади вписанного треугольника,который получится,если соеденить середины сторон треугольника,заданного координатами своих вершин на плоскости. Ниже приведена программа,которая вычисляет площадь треугольника,заданного коорд.Знаю,что коорд.вершин этого вписанного треугольника получаются Х=(х1+х2)/2, Y=(y1+y2)/2.
Но как преобразовать данный код не понимаю(( Может кто-то сообразит:

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
48
49
50
51
52
53
54
55
56
57
#include<iostream>
#include<cstdlib>
#include<string>
#include<cmath>
#include<vector>
 
using namespace std;
 
class Apex{
  public: double x;
          double y;
          Apex(char*t): x(atof(strtok(t,";"))), y(atof(strtok(NULL,";"))){};
};
 
class Triangle{
  private: vector<Apex> v;
  public: Triangle(char*t1, char*t2, char*t3){v.push_back(Apex(t1)); v.push_back(Apex(t2)); v.push_back(Apex(t3));};
          float Area();
};
 
float Triangle::Area()
{
  float p,s,l[3];
 
  l[0]=sqrt(pow(fabs(v[0].x-v[1].x),2)+pow(fabs(v[0].y-v[1].y),2));
  l[1]=sqrt(pow(fabs(v[1].x-v[2].x),2)+pow(fabs(v[1].y-v[2].y),2));
  l[2]=sqrt(pow(fabs(v[0].x-v[2].x),2)+pow(fabs(v[0].y-v[2].y),2));
  p=(l[0]+l[1]+l[2])/2;
  s=sqrt(p*(p-l[0])*(p-l[1])*(p-l[2]));
 
  return s;
};
 
int main(int argc, char** argv)
{
  int i,n;
  char *t1 = new char[BUFSIZ];
  char *t2 = new char[BUFSIZ];
  char *t3 = new char[BUFSIZ];
 
  cout<<endl<<"Input the number of triangles: ";
  cin>>n;
 
  for(i=0; i<n; i++)
    {
      cout<<endl<<"Input coordinates of the apexes of the "<<i+1<<" triangle"<<endl<<"in form x1;y1 x2;y2 x3;y3: ";
      cin>>t1>>t2>>t3;
      Triangle T(t1,t2,t3);
      cout<<"Area = "<<T.Area()<<endl;
    }
 
  cout<<endl;
 
  delete(t1);
  delete(t2);
  delete(t3);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 00:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Площадь треугольника! (C++):

Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь - C++
Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую...

Заданы длины двух сторон треугольника и угол между ними. найти площадь треугольника? - C++
Заданы длины двух сторон треугольника и угол между ними. найти площадь треугольника?

Зная площадь прямоугольного треугольника и угол при основании, найти все стороны треугольника - C++
Требования к программе: - Входные данные ввести с помощью стандартных процедур ввода; - На печать вывести значение входной переменной и...

Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей. - C++
Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей.

Даны три положительных числа а, b, с. Проверить, будут ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника. - C++
Помогите, пожалуйста, исправить здесь ошибку времени... #include&lt;iostream&gt; #include&lt;cmath&gt; using namespace std; void main() { ...

По длинам двух сторон некоторого треугольника и углу между ними найти длину третьей стороны и площадь этого треугольника - C++
Привет всем. Помогите исправить программу. Вот задача: По длинам двух сторон некоторого треугольника и углу между ними найти длину...

1
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 418
Записей в блоге: 2
Завершенные тесты: 1
04.11.2010, 15:50 #2
Зачем тебе находить координаты малого треугольника!???
Ведь площадь малого треугольника будет в четыре раза меньше площади большого!

Всего-то надо разделить площадь на 4
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 15:50
Привет! Вот еще темы с ответами:

Площадь треугольника - C++
Помогите пожалуйста. Надо сделать программу которая по трем координатам, введенных пользователем, считает площадь фигуры, ограниченной...

Площадь треугольника - C++
Нужно вычислить площадь n-треугольников по координатам вершин и найти максимальную из них.Вычислить вроде получается,а вот с выделение...

Площадь треугольника - C++
Составить программу, которая по трем координатам, которые вводит пользователь, считает площадь фигуры, ограниченной этими координатами....

Площадь треугольника - C++
Помогите пожалуйста! Ошибку выдаёт в 13-14 строчках. Как правильно записать Р как функцию? Даны стороны треугольника a, b, c. Найти его...


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

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

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