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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив структур http://www.cyberforum.ru/cpp-beginners/thread36445.html
Ребят! я конечно извиняюсь, но мне снова нужна ваша помощь... пропустил лекцию по структурам, и ща не могу сделать лабу... помогите пожалуйста. Задание: При вводе данных применять методы распределения памяти. Организовать интерфейс пользователя на основе меню, обязательными пунктами которого будут: ввод данных, выход из программы. Остальные пункты меню согласно заданию... Создать компьютерный...
C++ Работа с массивом структур Дана информация о четырех вузах. Структура имеет вид: название вуза, число студентов, количество факультетов, количество кафедр. Вывести данные об общем числе студентов, факультетов и кафедр Найдите плз ошибку. #include<stdio.h> #include<conio.h> #include<string.h> #define n 10 main() { int i,k,allStudents,allKafedrs,allFacultets; http://www.cyberforum.ru/cpp-beginners/thread36440.html
Нахождение критического пути C++
Есть орграф. Что нужно изменить в методе Дейкстры для того, чтобы искать путь не наименьшей,а наибольшей длины? Если просто сменить все знаки > на <, то так не прокатывает.
Матрица C++
Помогите пожалуйста Разработать консольное приложение хотя бы для любого варианта. Размерность и элементы матрицы ввести с клавиатуры. 1. Найти такие k, что k-я строка матрицы совпадает с k-м столбцом. 2. Матрица имеет седловую точку aij, если aij является минимальным в i-й строке и максимальным в j-м столбце. Найти все седловые точки заданной матрицы. 3. Получите номера строк, элементы...
C++ передать значение из одного поля диалогового окна в другое поле http://www.cyberforum.ru/cpp-beginners/thread36382.html
Извините, поиском не могу найти ответ на простейший вопрос. Как считать или вывести данные поля? Сделал простейшее диалоговое окно с двумя полями EditBox. Задача: ввожу в первое поле символ, он должен отобразиться во втором поле. Добавил глобальные переменные типа string в свойствах обоих полей (stEdit1 и stEdit2), в обработчике события изменения значения поля вписал stEdit2=stEdit1,...
C++ Создать класс для хранения календарных дат Создать класс для хранения календарных дат. Обеспечить возможность работы с датами в раз-личных форматах, изменения даты на заданное количество дней. Перегрузить операцию «–» для нахождения разности дат и операции сравнения. Для класса определить оператор <<. Стан-дартные функции и типы С для работы с датами не использовать. Народ помогите решить задачу)) подробнее

Показать сообщение отдельно
Фантазерка
9 / 9 / 2
Регистрация: 04.04.2009
Сообщений: 25

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

26.05.2009, 15:22. Просмотров 1513. Ответов 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 точками (работа с файлами)  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru