IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Геометрическая задача на С++, Нахождение треугольника минимальной площади
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 51
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Задача такая: Из заданного на плоскости множества точек выбрать 3, не лежащих на одной прямой и состовляющих треугольник наименьшей площади.
Как я понимаю плоскость задаем в виде двумерного массива?А что с этим массивом потом делать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






попробуй вот так:
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#include <values.h>

#define SQR(x) (x)*(x)

int main(void) {

clrscr();
int X[10],Y[10],i,j,k, min_1, min_2, min_3;
float Smin = MAXINT,a,b,c,p;
for (i=0;i<=9;i++) {
X[i]=random(100);
Y[i]=random(100);
cout << "(" << X[i] << ";" << Y[i] << ") ";
}

for (i=0;i<=9;i++) {
for (j=1;j<=9;j++) {

b=sqrt(SQR(X[j] - X[i]) + SQR(Y[j] - Y[i]));

for (k=2;k<=9;k++) {

c=sqrt(SQR(X[k] - X[j]) + SQR(Y[k] - Y[j]));
a=sqrt(SQR(X[k] - X[i]) + SQR(Y[k] - Y[i]));

if(a+b==c || a+c==b || b+c==a) continue;

p = (a+b+c)/2;
float s = sqrt(p*(p-a)*(p-b)*(p-c));

if(s < Smin) {
Smin = s;
min_1 = i, min_2 = j, min_3 = k;
}
}
}
}
cout << endl << "Smin = " << Smin << endl;
cout << "pnt 1: " << min_1 << " " << endl
<< "pnt 2: " << min_2 << " " << endl
<< "pnt 3: " << min_3 << endl;
getch();
return 0;
}
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.04.2024 9:34
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name