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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Контейнерный класс http://www.cyberforum.ru/cpp-beginners/thread186004.html
В общем нужно реализовать контейнерный класс не использую STL библиотеку, я не уверен правильно ли я понял что такое контейнерный класс.Допустим класс линии- контейнерный ,и есть класс класс точки. т.е. структура будет такой? class point{ ....... ...... }; class line{ point A,B; ......... ......
C++ Одномерный массив, статическое выделение памяти, ошибка в объявлении Здравствуйте. Снова надеюсь на вашу помощь.:confusion: В двух массивах записаны результаты 20 игр двух футбольных команд (если игра окончилась выигрышем данной команды, то записано число 2, проигрышем— 0, если игра окончилась вничью— 1). Организовать заполнение массивов с клавиатуры и проверку корректности ввода значений. На основе имеющихся данных определить: а) суммарное количество баллов,... http://www.cyberforum.ru/cpp-beginners/thread186002.html
Вычислить количество слов в строке C++
Здраствуйте. я некак немогу разобратся со строками. Помогите с задачей. Дана строка, состоящая из букв, цифр, запятых, точек, знаков «+» и «—». Выведите подстроку этой строки, которая соответствует записи целого числа, т.е. может начинаться со знаке» «+» и «—» и внутри подстроки нет букв, запятых и точек. Дана строка текста, в которой слова разделены символами «\» и пробелами....
Консольная программа для запуска экзешника с определенным параметром C++
Друзья, я неочень разбираюсь в програмировании, хоть и пытаюсь учить это:)) Мне надо программа(батник протстой или консольное приложение С++) с таким смыслом: Я Кидаю этот батник в папку с определенным экзешником, например D:\xxx\ где находится какаойто екзешник например myProgram.exe Смысл в том что в зависимости от параметра запускается разные виды этой программы. НАпример. Строка...
C++ динамическая память на С http://www.cyberforum.ru/cpp-beginners/thread185994.html
Кому не тяжело помочь с решением задачи на С? Ввести информацию о названии композиций, их исполнителях, продолжительности звучания в массив записей и вывести ее в виде таблицы.
C++ Динамический список помогите пожалуйста решить задачу: Динамический список (2 класса: элемент списка и список, которые находятся в отношении агрегации) Конструкторы: по умолчанию, с параметрами и копирование. Деструктор. Функции: удаление элемента из главы (хвоста) из заданного места; информация о количестве элементов списка; очищение списка; получение следующего (предыдущего) элемента. подробнее

Показать сообщение отдельно
mashuta_ya
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 10

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

04.11.2010, 00:35. Просмотров 670. Ответов 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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru