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

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

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

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

04.11.2010, 00:35. Просмотров 658. Ответов 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     Площадь треугольника!
Посмотрите здесь:

площадь треугольника C++
C++ Площадь треугольника
C++ Площадь треугольника
C++ Площадь треугольника
Вычислить площадь треугольника C++
C++ c++ Площадь треугольника
C++ Функции: площадь треугольника
C++ Площадь треугольника
C++ Периметр и площадь треугольника
C++ Найти площадь треугольника
C++ Площадь треугольника
Площадь треугольника C++

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

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

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

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