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

Геометрия в С++ - C++

Восстановить пароль Регистрация
 
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
16.02.2011, 15:48     Геометрия в С++ #1
Вывести радиус и центр окружности,на которой лежит наибольшее количество заданных точек.
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
#include <conio.h>
#include <stdio.h>
#include <math.h>
float cenx (float x1,float y1,float x2,float y2,float x3,float y3)
{
float s,a,b,c,p;
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
p=((a+b+c)/2);
s=sqrt(p*(p-a)*(p-b)*(p-c));
return(((x1*x1+y1*y1)*y2+(x3*x3+y3*y3)*y1+(x2*x2+y2*y2)*y3-(x3*x3+y3*y3)*y2-(x1*x1+y1*y1)*y3-(x2*x2+y2*y2)*y1)/(-4*s) );
}
float ceny (float x1,float y1,float x2,float y2,float x3,float y3)
{
float s,a,b,c,p;
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
return(((x1*x1+y1*y1)*x2+(x3*x3+y3*y3)*x1+(x2*x2+y2*y2)*x3-(x3*x3+y3*y3)*x2-(x1*x1+y1*y1)*x3-(x2*x2+y2*y2)*x1)/(4*s));
}
void main()
{ 
int i,j,g,k,t=3,o=3,q,w,e,n=3;
float x[50],y[50],Ox,Oy,r;
for (i=0;i<n;i++) {scanf("%f%f",&x[i],&y[i]);}
for (i=0;i<n;i++){
    for (j=0;j<n;j++) { 
    for (g=0;g<n;g++) {
Ox=cenx(x[i],y[i],x[j],y[j],x[g],y[g]);
Oy=ceny(x[i],y[i],x[j],y[j],x[g],y[g]);
r=sqrt((Ox-x[i])*(Ox-x[i])+(Oy-y[i])*(Oy-y[i]));
for(k=0;k<n;k++)
    if (r=sqrt((Ox-x[i])*(Ox-x[i])+(Oy-y[i])*(Oy-y[i]))) (t=t+1);
if (t>o){q=i;w=j;e=g;o=t;} t=3;
    }}}
Ox=cenx(x[q],y[q],x[w],y[w],x[e],y[e]);
Oy=ceny(x[q],y[q],x[w],y[w],x[e],y[e]);
r=sqrt((Ox-x[q])*(Ox-x[q])+(Oy-y[q])*(Oy-y[q]));
printf("%f %f %f",Ox,Oy,r);
_getch();
}
мм... интересует перебор точек,что в нем неправильно и как при совпадении i,j,g продолжать цикл с другими значениями j,g;вроде как команда break но она ни к месту там

Добавлено через 9 часов 56 минут
up up up)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 15:48     Геометрия в С++
Посмотрите здесь:

C++ геометрия
1) массивы 2)геометрия C++
Геометрия(треугольник) C++
Геометрия в С++. C++
C++ Геометрия и графика
C++ Геометрия
C++ геометрия
Простая геометрия C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru