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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
zidans
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 45
#1

Найти точку на окружности - C++

10.12.2010, 07:04. Просмотров 1225. Ответов 4
Метки нет (Все метки)

Здравствуйте. Подскажите, пожалуйста.

По написанной программе надо найти точку, лежащую на окружности.

Было задание :Составить программу по обработке одномерного массива согласно условию:

В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в порядке х1,у1,х2,у2,х3,у3 и т.д. Определить кольцо с центром в начале координат, которое содержит все точки.

Код программы:

# include<iostream.h>
# include<math.h>

void main(void)
{
int a[100];
int n, i, p, q, s=0, w;
cout <<"kolichestvo tochek=";
cin>>n;
p=n*2;
n=p;
cout <<" "<< endl;
cout <<"koordinaty tochek:"<< endl;
cout <<" "<< endl;
p=1;
q=1;
for (i=0; i<n; i++)
{
if (p==q)
{
cout <<"tochka"<<p<<":"<< endl;
cout <<"x"<<p<<"=";
cin>>a[i];
p++;
}
else
{
cout <<"y"<<q<<"=";
cin>>a[i];
q++;
cout <<" "<< endl;
}
}

for (i=0; i<n; i++)
{
p=a[i];
q=a[i+1];
w=p*p+q*q;
i++;
if (s<w)
s=w;
}
double t;
t=sqrt(s);
cout <<" "<< endl;
cout <<"radius R="<<t<<endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2010, 07:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти точку на окружности (C++):

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

Массив: Найти точку из этого множества, которая являлась бы центром окружности с минимальным радиусом. - C++
Дано множество A из N точек с координатами (x,y). Найти точку из этого множества, которая являлась бы центром окружности с минимальным...

Вычислительная геометрия (Даны координаты центра, R окружности, координаты точки вне окруж-ти. Найти точку пересечения одной из касательных с окруж-ю) - C++
Даны координаты центра (xc,yc) и радиус R окружности, координаты точки (x,y) вне окружности. Найти точку пересечения одной из касательных с...

Найти точку D, симметричную точку A относительно стороны BC. - C++
помогите решить пожалуйста...

Нарисовать часть окружности зная диаметр, стартовую точку, стартовый и конечный углы - C++
Необходимо нарисовать часть окружности. Известен радиус, Начальный угол, Конечный угол и Стартовая точка начала окружности(x, y). Нужно...

В введенной строке заменить каждую запятую и точку на точку с запятой - C++
В введенной строке заменить каждую запятую и точку на точку с запятой и вывести полученную строку.

4
solar_wind
760 / 751 / 42
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
10.12.2010, 07:36 #2
По написанной программе надо найти точку, лежащую на окружности.
Это что значит?

А вообще точка лежащая на окружности c центром в начале координат определятся очень просто. Pадиус окружности на которой лежит точка: SQRT(x^2+y^2) , а дальше фиксируешь радиус окружности, и y например и вычисляешь x
0
Aye Aye
370 / 284 / 36
Регистрация: 17.12.2009
Сообщений: 567
10.12.2010, 07:36 #3
помойму все проще, надо просто найти точку наиболее далеко отстоящую от начала координат, ее координаты должны входить в область, описываемую окружностью.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int n;
std::cout << "Enter number of points: ";
std::cin >> n;
float A[n];
for (int i=0; i<n;++i) std::cin >> A[i];
float maxx = A[0];
float maxy = A[1];
for (int i=0; i < n-1; ++i) {
   if (fabs(A[i]) > fabs(maxx) or fabs(A[i+1]) > fabs(maxy)) {
      maxx = A[i];
      maxy = A[i+1];
   }
   ++i;
}
float r = (fabs(maxy) < fabs(maxx))?(maxx):(maxy);
std::cout << r*r << " = " << "x^2 + y^2\n";
0
dihlofos
Бродяга
304 / 258 / 17
Регистрация: 27.08.2010
Сообщений: 553
10.12.2010, 07:41 #4
Ну дак, когда находим максимальный радиус, заодно сохраняем координаты в отдельные переменные:
C++
1
2
3
4
5
6
if (s<w)
{
    s = w;
    x = p;
    y = q;
}
И ещё, zidans, у вас в проге никакое кольцо не находится, а только внешний его радиус. Нужно ещё найти внутренний!
0
Напильнег
481 / 119 / 10
Регистрация: 30.09.2010
Сообщений: 473
10.12.2010, 11:48 #5
Цитата Сообщение от dihlofos Посмотреть сообщение
zidans, у вас в проге никакое кольцо не находится, а только внешний его радиус.
На самом деле даже и внешний радиус не находится...
0
10.12.2010, 11:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2010, 11:48
Привет! Вот еще темы с ответами:

Найти точку на прямой - C++
Найти на кривой Y(X)=sin2(2X)cos(4X) точку, абсцисса которой принадлежит интервалу и сумма расстояний от которой до прямых a1x+b1y+c1=0 и...

Найти в строке точку - C++
Всем привет ! Нужно найти в строке точку. Делаю #include &lt;iostream&gt; #include &lt;string&gt; ...

найти точку, принадлежащую - C++
дано множество отрезков на прямой. найти точку, которая принадлежит наибольшему количеству отрезков, определить это количество

Найти седловую точку матрицы! - C++
Седловой точкой матрицы назовём такой элемент, который является одновременно максимальным в столбце и минимальным в строке. Найти одну,...


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

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

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