Форум программистов, компьютерный форум 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++/CLI WinForms
Здравствуйте. Есть вот такое задание: Дано натуральное число. Разложите его на простые множители. Написать рекурсивную функцию. Сделал без рекурсии, с рекурсией уже долго ломаю голову но не получается, подскажите пожалуйста Мой код private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int num = Convert::ToInt32(textBox1->Text), simple = {1,2}, temp...
Вычислить количество слов в строке C++
Здраствуйте. я некак немогу разобратся со строками. Помогите с задачей. Дана строка, состоящая из букв, цифр, запятых, точек, знаков «+» и «—». Выведите подстроку этой строки, которая соответствует записи целого числа, т.е. может начинаться со знаке» «+» и «—» и внутри подстроки нет букв, запятых и точек. Дана строка текста, в которой слова разделены символами «\» и пробелами....
C++ Консольная программа для запуска экзешника с определенным параметром http://www.cyberforum.ru/cpp-beginners/thread185995.html
Друзья, я неочень разбираюсь в програмировании, хоть и пытаюсь учить это:)) Мне надо программа(батник протстой или консольное приложение С++) с таким смыслом: Я Кидаю этот батник в папку с определенным экзешником, например D:\xxx\ где находится какаойто екзешник например myProgram.exe Смысл в том что в зависимости от параметра запускается разные виды этой программы. НАпример. Строка...
C++ динамическая память на С Кому не тяжело помочь с решением задачи на С? Ввести информацию о названии композиций, их исполнителях, продолжительности звучания в массив записей и вывести ее в виде таблицы. подробнее

Показать сообщение отдельно
mashuta_ya
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 10
04.11.2010, 00:35     Площадь треугольника!
Пытаюсь написать программу для вычисления площади вписанного треугольника,который получится,если соеденить середины сторон треугольника,заданного координатами своих вершин на плоскости. Ниже приведена программа,которая вычисляет площадь треугольника,заданного коорд.Знаю,что коорд.вершин этого вписанного треугольника получаются Х=(х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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru