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

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

Войти
Регистрация
Восстановить пароль
 
4ININ
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 57
#1

Как правильно обьявить геометрические точки? - C++

06.10.2012, 01:09. Просмотров 433. Ответов 1
Метки нет (Все метки)

Здраствуйте!
Задача стоит такая : Добавить геометрическую точку с указанными координатами. (х у)
Отсортировать геометрические точки в сторону увеличения расстояния от начала координат.

Теперь основной вопрос : как правильно обьявить точку, для последующей сортировки ( по гипотенузе ), а также обращения к етой точке.
Дополнительный, необязательный вопрос : для дальнейшего удаления етой точки так : Удалить точку(либо точки) с указанными координатами (либо одной координатой).

вот мой приблизительный и кривой код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int *numberOfPoint = 0; // переменная для указания номера точки
 
// Функция обьявления точек
    int Data::Point( int x, int y)
    {
        numberOfPoint++; 
        hypotenuse = sqrt((x*x)+(y*y));
// в первой ячейке даного масива будет храниться значение х, 
// во второй у, а в третей ячейке гипотенуза
        double arrayPoint[*numberOfPoint][*numberOfPoint][*numberOfPoint]; 
        cout<<numberOfPoint<<endl;
        cout<<"hypotenuse = "<<hypotenuse<<endl;
        return 0;
    }
как подсказывает здравый смысл если я правильно обьявлю массив
C++
1
double arrayPoint[numberOfPoint][*numberOfPoint][*numberOfPoint];
то при последующем обращении к нему я сойду с ума...

Также можете посмотреть вложеный файл... ето приблизительный набросок
Вложения
Тип файла: txt КривойКодПолностью.txt (5.9 Кб, 3 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2012, 01:09     Как правильно обьявить геометрические точки?
Посмотрите здесь:

Как обьявить глобальную переменную - C++
Как объявить глобальную переменную Есть несколько *CPP* и *.h* файлы. Надо объявить переменную HWND hwnd чтобы она была доступна в...

Как обьявить вектор векторов? - C++
Как обьявить вектор векторов? Так ругается vector&lt;vector&lt;int&gt;&gt; matrix = { {1, 2}, {3, 4} }; Так тоже const int ROWS =...

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

Как обьявить глобальную переменную в функции? - C++
Вопрос как объявить переменную в функции чтобы ей можно было пользоваться везде?

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

Как обьявить String в Visual Studio С++? - C++
Подскажите плз как обьявить String в С++ в Visual Studio кучу вариантов перепробовал безрезультатно!!!

Как обьявить и инициализировать массив константных значений? - C++
Пробовал вот таким вот образом в заголовочном файле const int big_numbers = { 1000, 2000, 3000 }; error C2059: syntax error : '{'...

Как динамически обьявить многомерный массив (ptr = new int[5][5])? - C++
как обявить вот такую вот штуку: int * ptr = new int; заранее благодарен Роман.

Правильно ли с математической точки зрения программа на С++ вычислит значение выражения 5 / 2 * 1.3? - C++
Народ помогите пожалуйста с заданиями,буду очень благодарен. Сам не силен в программировании,но это задали на завтра...( Правильно ли с...

Обьявить в классе 2 символьные ЗАКРЫТЫЕ переменные, вывести их значения на печать - C++
Уважаемые программисты Прошу помочь.:help: так как эту тему я не понял . Задание: Обьявить в классе 2 символьные ЗАКРЫТЫЕ переменные...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.10.2012, 01:27     Как правильно обьявить геометрические точки? #2
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
struct Point2D {
  double x, y;
  
  Point2D(double x_, double y_) : x(x_), y(y_) {}
  
  Point2D operator+(const Point2D &other)
  {
    return Point2D(x + other.x, y + other.y);
  }
  
  Point2D operator-(const Point2D &other)
  {
    return Point2D(x - other.x, y - other.y);
  }
  
  bool operator==(const Point2D &other)
  {
    return ((x == other.x) && (y == other.y));
  }
};
 
/* Длина радиус-вектора точки */
double abs(const Point2D &point)
{
  return sqrt(point.x * point.x + point.y * point.y);
}
Ну вы понели. Вам сравнивать точки по значению abs(). Надо несколько точек — std::vector<Point2D> в руки.
Yandex
Объявления
06.10.2012, 01:27     Как правильно обьявить геометрические точки?
Ответ Создать тему
Опции темы

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