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

Площадь выпуклого многогранника методом триангуации по формуле Герона - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структуры. http://www.cyberforum.ru/cpp-beginners/thread87647.html
#include<iostream.h> #include<math.h> #include<conio.h> struct Price { char name; char shop; float cena; } ; const int n=3; void main ( )
C++ строки и предложения Здравствуйте Уважаемые! Можете решить задачки в Си, у меня ни как не получается=-O. Хотя бы одну. Заране благодарен. 1. Даны две фамилии. Определить какая из них длиннее. 2.Дано предложение... http://www.cyberforum.ru/cpp-beginners/thread87644.html
СТРОКИ C++
Дана строка, содержащая текст, заканчивающийся точкой. Посчитать количество слов, содержащих 4 символа. MS C++ 6.0
Почему файл пустой? C++
Вроде бы делаю всё верно... Объявлен массив структур struct book { int index; char title; char autor; int publdate; int number; } lib ;
C++ массивы http://www.cyberforum.ru/cpp-beginners/thread87634.html
Определите и напечатайте наименьшее и наибольшее значения массива w с 99 элементами с плавающей запятой.
C++ Передача двумерных массивов в функцию мне дано такое задание: "Написать функцию сглаживания заданной во входном параметре матрицы. Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как... подробнее

Показать сообщение отдельно
Reskov
12 / 12 / 1
Регистрация: 14.12.2009
Сообщений: 33
21.01.2010, 17:29
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
58
59
60
61
62
63
64
65
66
67
68
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include <fstream.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
TPoint *a;//список точек
int n=0;
 
//---------------------------------------------------------------------------
double dist(TPoint a,TPoint b)//растояние  между двумя точками
{
 
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
//---------------------------------------------------------------------------
double plGeron(TPoint a,TPoint b,TPoint c)//формула герона
{
double p=(dist(a,b)+dist(b,c)+dist(c,a))/2;
return  sqrt(p*(p-dist(a,b))*(p-dist(b,c))*(p-dist(c,a)));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if (OpenDialog1->Execute())  //запускаем диалог для выбора файла
     if (FileExists(OpenDialog1->FileName)) { //если норм запустился то проверяем сущ файла
         Memo1->Lines->LoadFromFile(OpenDialog1->FileName); //загружаем в мемо для красоты
     }
 
 
 fstream stream(OpenDialog1->FileName.c_str());//открываем поток для работы с файлом
 stream>>n;//считываем n
 a=new TPoint[n+1];              //создаем массив на n+1 элемент чтобы замкнуть ломаную
  for (int i=0;i<n;i++)
        {
        stream>>a[i].x>>a[i].y; //читаем данные из файла
        }
  a[n]=a[0];  //замыкаем ломаную
 
  TCanvas *canv=Image1->Canvas; //канва где рисуем
  canv->Pen->Color=clBlack;
  Image1->Picture->Bitmap->FreeImage();    //стираем все что было
  canv->MoveTo(a[0].x,a[0].y);       //переходм в первую точку
  canv->Polygon(a,n+1);             //рисуем фигуру
  canv->Pen->Color=clRed;       //красный цвет
    for (int i=2;i<n-1;i++)     //рисуем триангуляцию
        {
         canv->MoveTo(a[0].x,a[0].y);
         canv->LineTo(a[i].x,a[i].y);
         }
  double pl=0;  //наша площадь
        for (int i=1;i<n-1;i++)
        {
         pl+=plGeron(a[0],a[i],a[i+1]);//фиксируем точку a[0] и по ней разбиваем
        }
        ShowMessage("pl="+(String)pl);
}
//---------------------------------------------------------------------------
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru