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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wolfed
2 / 2 / 1
Регистрация: 15.02.2011
Сообщений: 70
#1

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

16.02.2011, 15:48. Просмотров 376. Ответов 0
Метки нет (Все метки)

Вывести радиус и центр окружности,на которой лежит наибольшее количество заданных точек.
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)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 15:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Геометрия в С++ (C++):

Геометрия в С++ - C++
Даны две вершины прямоугольного треугольника A,B,так же известны угол A и угол B.Нужно найти третью вершину треугольника.Пробывал решать...

геометрия - C++
Решите пожалуйста, ребят ( Решить задачу, используя структуру point для хранения координат точки: Найти такую точку, сумма расстояний...

Геометрия - C++
Г Е О М Е Т Р И Ч Е С К И Е З А Д А Ч И -&gt; Здесь выкладываем условия и/или решения геометрических задач &lt;-

Геометрия в С++. - C++
Здравствуйте. Помогите решить задчу: &quot;Даны два множества точек на плоскости. Найти радиус и центр окружности, проходящей через n (n&gt;=3)...

геометрия - C++
:help::help: Даны действительные числа x, y. Вычислить расстояние от точки плоскости с координатами (x, y) до границы квадрата * с...

Простая геометрия - C++
Недавно решал пачку задач на геометрию, но с одной не справился, даже сейчас не выходит. Постановка: Дан выпуклый многоугольник...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2011, 15:48
Привет! Вот еще темы с ответами:

Геометрия и графика - C++
Решить задачу и отобразить решение графически на экране. Исходные данные прочитать из текстового файла. Задача: На плоскости задано...

1) массивы 2)геометрия - C++
Здравствуйте! Помогите пожалуйста решить задачи, очень надо! 1)Определить частоты вхождения в число N! (N&lt;=100) цифр, из которых...

Геометрия(треугольник) - C++
Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник, и если да, то будет ли он прямоугольным.

Вычислительная геометрия на С - C++
Заданы координаты N точек. Определить те две точки, проведенная через которые прямая делит имеющиеся точки пополам.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru