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

массивы, плоскость, и расстояние от точки до центра координат - C++

Восстановить пароль Регистрация
 
Crashman
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 21
28.01.2011, 14:43     массивы, плоскость, и расстояние от точки до центра координат #1
Всем доброго времени суток! Помогите пожалуйста разобраться вот с такой вот задачей:
Имеется n точек на плоскости, заданные своими координатами. Определить номер точки, расстояние от которой до центра координат максимально.
Вот... вроде и ясно что нужно решать через массивы, но не могу придумать как это можно осуществить >_<.

P.S. тема названа, не очень то точно, но других названий в голову не приходило...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2011, 14:43     массивы, плоскость, и расстояние от точки до центра координат
Посмотрите здесь:

C++ Определить номер точки, через которую проходит окружность с центром в начале координат, внутрь которой попадают все оставшиеся точки.
C++ расстояние от точки до функции С++
Найти точку, расстояние от которой до начала координат минимальное C++
Определить функцию, возвращающую расстояние между центром окружности и началом координат C++
Вывести расстояние от заданной точки до точки пересечения диагоналей прямоугольников C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.01.2011, 14:49     массивы, плоскость, и расстояние от точки до центра координат #2
Оч сложная задача. Наверное все можно осуществить даже без массивов, еще при считывании данных.
Crashman
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 21
28.01.2011, 15:01  [ТС]     массивы, плоскость, и расстояние от точки до центра координат #3
возможно... просто задача из темы про массивы и циклы...
не представляю как её решить, поэтому и спросил...
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.01.2011, 15:18     массивы, плоскость, и расстояние от точки до центра координат #4
Алгоритм такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double mах=-1., i_max;
for(int i=0; i<N; i++)
{
     //здесь считываем координаты об очередной точке
     // вычисляем расстояние от этой точки до координаты (0,0) rast=sqrt(x^2+y^2) 
    if(max==-1)
    {
        max=rast;
        i_max=i;
     }
    else
        if(max<rast)
        {
             max=rast;
             i_max=i;
        }
}
// здесь в max значение максимального расстояния, в i_max номер точки. (нумерация с 0).
Crashman
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 21
28.01.2011, 15:56  [ТС]     массивы, плоскость, и расстояние от точки до центра координат #5
спасибо за алгоритм)
вот) я придумал как с массивами можно)
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
int x[100],y[100];
int i,n;
double a,q,w,m,d,f;
using namespace std;
 
int main()
{
cout<<("Vvedite N");
cin>>n;
cout<<("Vvedite kordinati zentra x");
cin>>q;
cout<<("Vvedite kordinati zentra y");
cin>>w;
 
for (i=1; i<=n; i++)
{
cout<<"Vvedite element x=";
cin>>x[ i ];
cout<<"Vvedite element y=";
cin>>y[ i ];
 
}
m=0;
for (i=1; i<=n; i++)
{
a=sqrt(pow(x[ i ]-q,2)+pow(y[ i ]-w,2));
if (m<a)
{
m=a;
d=x[ i ];
f=y[ i ];
 
}
}
 
cout<<"Maksim ydaleniya tochka- ["<<d<<","<<f<<"]";
 
system("PAUSE");
return 0;
 
}
p.s теперь другая проблема T_T
Имеется n точек на плоскости. Определить номер той, через которую проходит окружность с центром в начале координат, внутрь которой попадают все оставшиеся точки.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.01.2011, 16:19     массивы, плоскость, и расстояние от точки до центра координат #6
На пример так:
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
int x[100],y[100];
int i,n;
double a,q,w,m,d,f,num=0;
using namespace std;
 
int main()
{
cout<<("Vvedite N");
cin>>n;
m=0;
for (i=1; i<=n; i++)
{
    cin>>x[i]>>y[i];
a=sqrt(pow(x[ i ],2)+pow(y[ i ],2));
if (m<a)
{
m=a;
d=x[ i ];
f=y[ i ];
num=i; 
}
}
 
cout<<"Maksim ydaleniya tochka- ["<<d<<","<<f<<"]"<<"  "<<"Num: ="<<num<<endl;
 
system("PAUSE");
return 0;
 
}
Crashman
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 21
28.01.2011, 18:08  [ТС]     массивы, плоскость, и расстояние от точки до центра координат #7
о, точно!
только у меня компилятор на pow ругается... говорит:
error C2668: pow: неоднозначный вызов перегруженной функции
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.01.2011, 18:21     массивы, плоскость, и расстояние от точки до центра координат #8
Crashman, pow и в Вашем коде есть. А так попробуйте:
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
int x[100],y[100];
int i,n;
double a,q,w,m,d,f,num=0;
using namespace std;
 
int main()
{
cout<<("Vvedite N");
cin>>n;
m=0;
for (i=1; i<=n; i++)
{
        cin>>x[i]>>y[i];
a=sqrt(pow((double)x[ i ],2.)+pow((double)y[ i ],2.));
if (m<a)
{
m=a;
d=x[ i ];
f=y[ i ];
num=i; 
}
}
 
cout<<"Maksim ydaleniya tochka- ["<<d<<","<<f<<"]"<<"  "<<"Num: ="<<num<<endl;
 
system("PAUSE");
return 0;
 
}
Crashman
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 21
28.01.2011, 18:37  [ТС]     массивы, плоскость, и расстояние от точки до центра координат #9
Спасибо большое! так заработало!!! а из-за чего ошибка была тогда?
в моем том коде работал pow...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2011, 18:52     массивы, плоскость, и расстояние от точки до центра координат
Еще ссылки по теме:

C++ Попадание точки в плоскость
Найти минимальное расстояние от точки до точки C++

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.01.2011, 18:52     массивы, плоскость, и расстояние от точки до центра координат #10
Crashman, некоторые компиляторы требуют, что бы параметры функции pow были не целыми, а типа double или float.
Yandex
Объявления
28.01.2011, 18:52     массивы, плоскость, и расстояние от точки до центра координат
Ответ Создать тему
Опции темы

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