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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Miras777
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 30
#1

Две точки в n-мерном пространстве X=(х1, х2, ..., хn), Y=(y1, y2, ...,yn) - C++

30.03.2012, 00:27. Просмотров 2253. Ответов 1
Метки нет (Все метки)

Даны две точки в n-мерном пространстве X=(х1, х2, ..., хn), Y=(y1, y2, ...,yn). Написать
программу нахождения расстояния между этими точками и вектора XY.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2012, 00:27     Две точки в n-мерном пространстве X=(х1, х2, ..., хn), Y=(y1, y2, ...,yn)
Посмотрите здесь:

Класс вектор в n-мерном пространстве - C++
Есть задача: Разработать класс “вектор в n-мерном пространстве”. Определить: • конструктор (или несколько, если необходимо) • набор...

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

Группировка точек в 3-мерном пространстве. Алгоритм - C++
В пространстве имеется множество точек (~700 000), необходимо разбить эти точки на n групп, в каждой из которых имеется что-то типа главной...

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

точки на плоскости в трехмерном пространстве - C++
в общем нужно проверять лежат ли 4 точки(отдельный класс состоящих из трех флоатов) в одной плоскости. Подскажите простой способ, если...

Даны две прямые в пространстве.Определить их взаимное расположение - C++
Даны две прямые в пространстве.Определить их взаимное расположение. Решить предложенную задачу (использовать операторов: if, switch) ...

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

Дано n точек в пространстве, упорядочить точки по неубыванию их расстояний до начала координат - C++
Доброго времени суток всем. Прошу помочь с этими заданиям, написать код в c++ 1. Дано n точек в пространстве. Упорядочить точки по...

Движение материальной точки в двумерном пространстве под действием постоянной силы - C++
Реализуйте и протестируйте класс MovedPoint, описывающий положение и движение материальной точки в двумерном пространстве под действием...

Даны две прямые в пространстве.Определить их взаимное расположение. Решении в С++ и алгоритм(блок схему) - C++
Не могу решить. помогите , очень надо.:( Даны две прямые в пространстве.Определить их взаимное расположение. Добавлено через 29...

Даны 3 точки в пространстве. Найдите периметр пространственного треугольника, составленного из этих точек - C++
Даны 3 точки в пространстве. Найдите периметр пространственного треугольника, составленного из этих точек

Создайте стуктуру Point (точка) с вещественными полями x и y, которые задают координаты этой точки в двухмерном пространстве - C++
Создайте стуктуру Point (точка) с вещественными полями x и y, которые задают координаты этой точки в двухмерном пространстве. Создайте...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Polikarpic
46 / 46 / 7
Регистрация: 29.06.2011
Сообщений: 174
30.03.2012, 01:27     Две точки в n-мерном пространстве X=(х1, х2, ..., хn), Y=(y1, y2, ...,yn) #2
Расстояние между двумя точками в n-мерном пространстве определяется так:
d(X, Y) = sqrt(sum(sqr(xi - yi)), где sum-функция суммирования sqrt(xi - yi) по и от 1 до n

Матанализ

Добавлено через 16 минут
Попробуйте сию программу:
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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
 
int main()
{//массивы для хранения координат
    int *f, *s;
    int i;
    int n;
    float result = 0;
    float sum = 0;
cout<<"размерность пространства = ";
cin>>n;
//выделяем нужное количество ячеек
f = new int [n];
s = new int [n];
cout<<"введите координаты первой точки"<<endl;
for (i = 0; i < n; i++)
cin>>f[i];
for (i = 0; i < n; i++)
cin>>s[i];
//действуем строго по формуле:
//вычисляем сумму в квадрате разности координат
for (i = 0; i < n; i++) 
sum += (f[i] - s[i]) * (f[i] - s[i]);
//берём корень от этой суммы
result = sqrt(sum);
cout<<result;
//не забываем освобождать выделенную память
delete []f;
delete []s;
getch();
    return 0;
}
Работает правда только для целых координат и возможно переполнение переменных sum и result, но это легко исправить, поменяв типы скажем int на long и т.д.
Это так ,для примера
Yandex
Объявления
30.03.2012, 01:27     Две точки в n-мерном пространстве X=(х1, х2, ..., хn), Y=(y1, y2, ...,yn)
Ответ Создать тему
Опции темы

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