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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Фантазерка
9 / 9 / 2
Регистрация: 04.04.2009
Сообщений: 25
#1

Матрица расстояний между N точками (работа с файлами) - C++

26.05.2009, 15:22. Просмотров 1517. Ответов 0
Метки нет (Все метки)

Условие задачки:
На плоскости заданы 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main (void)
{
 
int nrow;
int i,j;
 
printf ("Enter kol-vo tochek\n");
scanf ("%d", &nrow);
 
 
float **arr=new float*[2]; //Описание исходного массива
for(i=0;i<nrow;i++)
     arr[i]=new float[nrow];
 
float **matrix=new float*[nrow]; //Описание итоговой матрицы расстояний
for(i=0;i<nrow;i++)
     matrix[i]=new float[nrow];
 
for (i = 0; i < nrow; i++)
 for (j=0; j < 2;j++)
    arr[i][j] = 0+rand()%20-5;           //для удобства сформировать случ образом
 
cout << "Vivod massive!" << endl;
 
for (i = 0; i < nrow; i++)
{
     for (int j=0; j<2;j++)
     {
        printf("%2.2f ",arr[i][j]);
     }
    printf("\n");
}
cout << endl;
 
//Формирование матрицы расстояний
 
 
for (i = 0; i < nrow; i++)  
{
for (j = 0;  j< nrow; j++)  
{
        matrix [i][j]= sqrt((arr[i][0]-arr[j][0])*(arr[i][0]-arr[j][0])+(arr[i][1]-arr[j][1])*(arr[i][1]-arr[j][1]));  //расстояние между двумя точками
}
}
 
    for (i = 0; i < nrow; i++)  
     {for (j=0; j < nrow;j++)
     {
           printf("%1.2f ",matrix[i][j]);
     }
     printf("\n");
     }
}
Миниатюры
Матрица расстояний между N точками (работа с файлами)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2009, 15:22     Матрица расстояний между N точками (работа с файлами)
Посмотрите здесь:

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

Найти максимальное и минимальное значение между точками и вывести их вместе с точками - C++
Я уже весь гугл перерыл и всю голову выпотрошил.не получается. Нужно написать функцию для двух массивов х и у. Эти массивы задают...

МАТРИЦА РАССТОЯНИЙ ГРАФА - C++
Доброго времени суток! Помогите пожалуйста! Пытаюсь написать программу, которая находила бы матрицу расстояний по матрице смежности....

Матрица расстояний для невзвешенного графа - C++
Нужно найти радиус, диаметр, центр неориентированного невзвешенного графа Для этого, как я поняла, нужна матрица расстояний. Как её...

Вывести таблицу расстояний между городами - C++
в принципе я знаю алгоритм решения ее)) но я не смог перенести свой алгоритм на c++)) вот сама задача: заданы 7 городов ...

АТД Графы. Поиск суммы расстояний между городами. - C++
Здравствуйте! Нужна помощь! Всем известная задача и в сети конечно много разнообразных тем! но не одна из них не доведена до...

Поиск самых коротких расстояний между любыми двумя вершинами графа по методу Шимбела - C++
у меня большие проблемы с логикой программирования) поэтому обращаюсь к вам за помощью..... Поиск самых коротких расстояний между любыми...

Найти расстояния между точками - C++
Пожалуйста помогите с задачей.На плоскости есть три точки с координатами A(2;3)B(-1;4)C(0;0).Найти расстояния между точками AB BC CA и...

Нахождение расстояния между точками - C++
Вводится количество точек, потом их координаты. Программа должна вывести общее расстояние между ними. Помогите с решением.

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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