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

доступ к конкретным элементам, хранящимся в двух структурах(одна вложена в другую) - C++

Восстановить пароль Регистрация
 
tormozina
Сообщений: n/a
14.03.2011, 15:59     доступ к конкретным элементам, хранящимся в двух структурах(одна вложена в другую) #1
Доброго времени суток всем. Передо мной стоит такая задача - нужно сделать программу, которая бы строила большое количество точек - с различными координатами, и в итоге, разбивала их на определенные класстеры - в зависимости от расстояния. Рассматриваю Декартовую систему координат, для представления точек решил использовать структуры. Одна из которых содержит индексы точек - вторая координаты, структуры вложенные. С заполнением вроде как разобрался. Дальше для работы с этой структурой всовываю ее в контейнер <vector>(чтобы после рассчета расстояний уже перейти к замещению точек - класстерами)Проблема: придумать функцию, которая бы рассчитывала длинну вектора - т.е. расстояние между точками - никак не выходит, не пойму как стучать к ним. Формула для рассчета длины вектора выглядит так:A(X1;Y1) F(X2;Y2)
|AF|=sqrt((X1-X2)^2 + (Y1-Y2)^2) я ее организовываю в отдельную функцию range, которая должна рассчитать в автомате расстояние для всех точек,
Код
struct point{
	int x=0;
	int y=0;
} pXY;
struct point *p;
p = &pXY;
struct i{
int id=0;
struct point index;
}pI;
struct i *poi;
poi = &pI;
void structFiller( *p, *poi);
float range(struct i, struct point,float rng=0);
void structFiller( *p, *poi)
{	
	for(int j=0; j<=N; ++j)
	{
	poi->id++;
	p->x = rand()%525;
	p->y = rand()%525;
	}
	
}void range(vector <i>, float rng)
{
rng = sqrt(pow(i.id=N.x - i.id=(N-1).x ,2)+ pow(i.id=N.y-i.id=(N-1).y,2))//подскажите как правильно обращаться к ним.
}
Извините, если что-то неправильно оформил - первый мой пост. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 15:59     доступ к конкретным элементам, хранящимся в двух структурах(одна вложена в другую)
Посмотрите здесь:

Может ли объемлющий класс иметь неограниченный доступ к элементам вложенного класса? А вложенный класс — к элементам объемлющего? C++
C++ Доступ к закрытым элементам класса - Вопрос
Доступ к элементам tuple в шаблонах C++
C++ Доступ к элементам связного списка
C++ интерактивный доступ к элементам списка в С++
C++ Написать функцию перестановки данных в двух структурах, передаваемых по ссылке.
C++ Как получить доступ к элементам вектора
C++ Доступ к элементам unordered_map

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
 Аватар для Mr.X
2800 / 1576 / 246
Регистрация: 03.05.2010
Сообщений: 3,658
14.03.2011, 17:15     доступ к конкретным элементам, хранящимся в двух структурах(одна вложена в другую) #2
Вот так можно сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/////////////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
struct  T_point
{
    int  id;
    int  x;
    int  y;
    //-----------------------------------------------------------------------------------
    double  dist(const T_point&  p)
    {
        double  x_dist = x - p.x;
        double  y_dist = y - p.y;
        return  sqrt(x_dist * x_dist + y_dist * y_dist);
    }
};
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    
}
tormozina
Сообщений: n/a
14.03.2011, 20:39     доступ к конкретным элементам, хранящимся в двух структурах(одна вложена в другую) #3
Спасибо, Вам, большое за пример - помогло!
Yandex
Объявления
14.03.2011, 20:39     доступ к конкретным элементам, хранящимся в двух структурах(одна вложена в другую)
Ответ Создать тему
Опции темы

Текущее время: 00:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru