|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
|
Упорядочить массив по расстоянию от начала координат22.10.2017, 18:59. Показов 5566. Ответов 31
Метки нет (Все метки)
Есть задача: Расположить в порядке приближения к началу координат, при совпадении расстояний упорядочивать по x, при совпадении ещё и x оставлять исходный порядок.
Алгоритм нужен на C++, пробовал сортировать через sort, но результат не достигнут. Для записи координат использую два вектора.
0
|
|
| 22.10.2017, 18:59 | |
|
Ответы с готовыми решениями:
31
Дано n точек в пространстве, упорядочить точки по неубыванию их расстояний до начала координат
|
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
|
| 23.10.2017, 18:34 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
||||||
| 23.10.2017, 18:36 [ТС] | ||||||
|
Вот в чем дело, да, ошибок никаких нет. Но смотрите, если массив задать через код, т.е вот так
0
|
||||||
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||||||
| 23.10.2017, 18:40 | ||||||
|
X_killer, а понял! условие сортировки неверное, вот так надо:
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
|
| 23.10.2017, 18:42 [ТС] | |
|
(-20, 50) (0, 6) (1, 10) (4, 4) это результат, почти, но в середине все равно перепутаны координаты, весь день с этим сижу.
0
|
|
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||
| 23.10.2017, 18:46 | ||
(4, 4) (0, 6) (1, 10) (-20, 50) - это правильный результат.
0
|
||
|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
|
| 23.10.2017, 18:47 [ТС] | |
|
Да, это правильный, только он должен быть с большего к меньшему
0
|
|
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||
| 23.10.2017, 18:48 | ||
|
А у вас вообще порядок-то какой? Если приближения к началу координат, то у вас все правильно написано было, мое исправление неверно.
Добавлено через 32 секунды
0
|
||
|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
|
| 23.10.2017, 19:06 [ТС] | |
|
Возможно у меня с Visual что-то не так, попробую другой компилятор.
Добавлено через 17 минут А вы сортировали с вводом точек, ну т.е не заданные в коде были?
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 23.10.2017, 19:32 | ||||||
-20 50 2900 1 10 101 0 6 36 4 4 32 Добавлено через 1 минуту Как видишь, моё условие работает.
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
|
| 23.10.2017, 19:56 [ТС] | |
|
Да я и не спорю что работает, я также задавал точки в коде, и да, я получаю верный результат, без всяких проблем. А вот если точки вводятся во время выполнения программы, у меня почему-то на те же самые точки выходит другой результат.
Добавлено через 22 минуты В чем может быть причина? Я проверил, при вводе координат при выполнение, этот параметр равен 0.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||||||
| 23.10.2017, 20:03 | ||||||
Сообщение было отмечено X_killer как решение
Решение
X_killer, это же примитивно. Ты сам придумал конструктор, но не пользуешься им.
1
|
||||||
|
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 16
|
|
| 23.10.2017, 20:07 [ТС] | |
|
Спасибо вам огромное. я почему то совсем это выкинул из внимания, искал проблему совершенно в другом, а точнее в sort, и сам ввод я просто даже не брал во внимание.
0
|
|
| 23.10.2017, 20:07 | |
|
Помогаю со студенческими работами здесь
32
Программа для вычисления координат точки максимально отдаленной от начала координат
Массив: Среди всех точек этого множества, лежащих в одной из четвертей, найти точку, наиболее удаленную от начала координат Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|