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

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

Войти
Регистрация
Восстановить пароль
 
lariso4ka
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 51
#1

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

02.01.2014, 10:38. Просмотров 871. Ответов 1
Метки нет (Все метки)

Всем привет. Помогите написать программу...

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

Заранее спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 10:38     Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть, и напечатать их номера
Посмотрите здесь:
C++ Найти диаметр графа, то есть, максимальное значение среди всех кратчайших расстояний между каждой парой вершин
C++ Дан массив целых чисел. Найти номера элементов, оканчивающихся цифрой 0 (известно, что такие элементы в массиве есть)
Дан массив целых чисел. Найти номера элементов оканчивающихся цифрой 0 (известно, что такие цифры в массиве есть). C++
C++ Найти максимальное и минимальное значение между точками и вывести их вместе с точками
C++ В массиве A(n) найти и напечатать номера (индексы) локалальных максимумов, то есть таких ai, что ai-1<ai>ai+1
C++ Вывести на экран точки находящиеся между двумя определенными точками
Бинарные файлы( равноудаленные точки ) C++
C++ В заданной символьной строке, содержащей две точки, определить количество символов между точками
C++ Построить отрезок между двумя точками, определенными как экземпляры класса Point
Подчеркнуть в строке все вхождения заданного символа, если такие там есть C++
Найти число точек, у которых ордината больше абсциссы и сумму расстояний от первой точки до остальных C++
Найти расстояния между точками C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Arigato
Программист
280 / 177 / 95
Регистрация: 05.12.2013
Сообщений: 672
Записей в блоге: 5
02.01.2014, 11:41     Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть, и напечатать их номера #2
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
#include <iostream>
#include <math.h>
#include <locale.h>
 
using namespace std;
 
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;
}
С равноудаленностью перепроверь, не даю 100% гарантии, что правильно.
Ответ Создать тему
Опции темы

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