Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 10.12.2015
Сообщений: 16
1

Заданно N точек на плоскости. Построить матрицу расстояний между всеми точками

13.02.2018, 14:05. Показов 1896. Ответов 3

Author24 — интернет-сервис помощи студентам
На плоскости заданы n точек своими координатами. Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть, и напечатать их номера.
Нашел на форуме схожую тему, но там N константа. Мне необходимо вводить N самому, но тогда добрая половина кода работать не будет, потому-что нарушается работа с константами. Что поменять в коде?
Код, что нашел на форуме.
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
int main()
{
    setlocale(LC_ALL, "Russian");
    const int n=5;
    double x[n],y[n],m[n][n];
    cout<<"Введите координаты "<<n<<" точек"<<endl;
    for(int i=0;i<n;i++){
        cout<<"Точка "<<i+1<<endl;
        cout<<"x = "; cin>>x[i];
        cout<<"y = "; cin>>y[i];
    }
    cout.setf(ios::fixed);
    cout.precision(2);
    cout<<endl<<"Матрица расстояний между всеми точками:"<<endl;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            m[i][j]=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2));
            cout<<m[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<endl<<"Равноудаленные точки:"<<endl;
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++)
            for(int k=j;k<n-1;k++)
                for(int t=j+1;t<n;t++)
                    if(m[i][j]==m[k][t])
                        cout<<"("<<i+1<<","<<j+1<<")-("<<k+1<<","<<t+1<<"): "<<m[i][j]<<endl;
    cout<<endl;
    system("PAUSE");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2018, 14:05
Ответы с готовыми решениями:

Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть, и напечатать их номера
Всем привет. Помогите написать программу... На плоскости заданы n точек своими координатами....

Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть
Помогите, пожалуйста, выполнить задание. Насколько я понял, оно должно выполняться через двумерные...

Даны координаты трёх точек на плоскости, найти сумму расстояний между этими точками с помощью процедуры
Даны координаты трёх точек на плоскости, найти сумму расстояний между этими точками с помощью...

На плоскости заданы 2n точек. Объединить их в пары так, чтобы сумма всех расстояний между точками была миниальной
На плоскости заданы 2n точек. Объединить их в пары так, чтобы сумма всех расстояний между точками...

3
Заблокирован
13.02.2018, 14:12 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int n;
cout<<"n:";
cin>>n;
double *x=new int[n];
double *y=new int[n];
double *m=new int*[n];
for(int i=0; i<n; i++) m[i]=new int[n];
..............
delete[] x;
delete[] y;
for(int i=0; i<n; i++) delete[] m[i];
delete[] m;
1
1 / 1 / 0
Регистрация: 10.12.2015
Сообщений: 16
16.02.2018, 14:14  [ТС] 3
MansMI, ругается на объявление данных. double и int
0
Заблокирован
16.02.2018, 14:28 4
new int заменить на new double
0
16.02.2018, 14:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2018, 14:28
Помогаю со студенческими работами здесь

Доказать, что модуль разности расстояний двух точек до множества не превосходит расстояния между самими точками
Дано полуметрическое пространство (X,d) Не пойму,что то как доказать ,что модуль разности...

Дан массив М координат точек на плоскости. Найти наибольшее расстоя-ние между этими точками
Дан массив М координат точек на плоскости. Найти наибольшее расстоя-ние между этими точками С...

Построить множество точек со своими координатами (х,у). Найти наибольшее и наименьшее расстояние между этими точками
помогите пожайлуста написать програму

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru