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

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

Войти
Регистрация
Восстановить пароль
 
tormozina
Сообщений: n/a
#1

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

14.03.2011, 15:59. Просмотров 342. Ответов 2
Метки нет (Все метки)

Доброго времени суток всем. Передо мной стоит такая задача - нужно сделать программу, которая бы строила большое количество точек - с различными координатами, и в итоге, разбивала их на определенные класстеры - в зависимости от расстояния. Рассматриваю Декартовую систему координат, для представления точек решил использовать структуры. Одна из которых содержит индексы точек - вторая координаты, структуры вложенные. С заполнением вроде как разобрался. Дальше для работы с этой структурой всовываю ее в контейнер <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++
Ответ как бы знаю(нет , да). но наверное я что-то не так понимаю, т.к. примерчик написать не получается. class BaseClass { ...

Написать функцию перестановки данных в двух структурах, передаваемых по ссылке. - C++
Написать функцию перестановки данных в двух структурах, передаваемых по ссылке. Проверить ее работоспособность.

Доступ к элементам unordered_map - C++
struct Foo { int a,b,c; }; std::unordered_map&lt;std::pair&lt;int32_t, int32_t&gt;, std::unordered_map&lt;uint32_t, Foo&gt;&gt; bar; int...

Интерактивный доступ к элементам списка - C++
программа должна обеспечивать интерактивный режим просмотра элементов списка. Как это осуществит,кто знает?

Доступ к элементам связного списка - C++
как организовать самый простой для реализации способ чтобы получить доступ к i-му элементу в односвязном списке? придумал только создать...

Доступ к элементам в std::map - C++
У меня возник вопрос. В этом участке кода, есть два цикла, которые выводят содержимое контейнера std::map и вывод идентичен. Рационально...

2
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
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()
{
    
}
1
tormozina
Сообщений: n/a
14.03.2011, 20:39 #3
Спасибо, Вам, большое за пример - помогло!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2011, 20:39
Привет! Вот еще темы с ответами:

Доступ к элементам tuple в шаблонах - C++
Собственно, не могу понять как работать с элементами кортежа в цикле, не получается получить к ним доступ. Подскажите, кто знает, как это...

Доступ к элементам multimap по ключу - C++
Подскажите, как обратиться к элементам по ключу?

Доступ к элементам управления одной активности через другую - Программирование Android
Имеется две активности. Когда запускаю вторую активность, первую не выгружаю (не удаляю). Можно ли сделать так, чтобы вторая активность...

Организовать доступ к элементам очереди из двух потоков - C#
1 поток добавляет элементы в очередь. 2 дргуих должны счиать кждый элемент очереди. Как наилучшим образом организовать считываение...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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