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

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

Восстановить пароль Регистрация
 
mashuta_ya
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 10
04.11.2010, 00:35     Площадь треугольника! #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);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 00:35     Площадь треугольника!
Посмотрите здесь:

Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь C++
C++ Даны три положительных числа а, b, с. Проверить, будут ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника.
C++ Площадь треугольника
C++ c++ Площадь треугольника
C++ Заданы длины двух сторон треугольника и угол между ними. найти площадь треугольника?
Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей. C++
C++ Площадь треугольника
По длинам двух сторон некоторого треугольника и углу между ними найти длину третьей стороны и площадь этого треугольника C++

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

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

Всего-то надо разделить площадь на 4
Yandex
Объявления
04.11.2010, 15:50     Площадь треугольника!
Ответ Создать тему
Опции темы

Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru