1 / 1 / 0
Регистрация: 07.04.2020
Сообщений: 54
1

Дано множество A из N точек. Найти точку, наиболее близкую к началу координат

13.11.2020, 14:02. Показов 3516. Ответов 30
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано множество A из N точек (точки заданы своими координатами x, y). Среди всех
точек этого множества, лежащих в первой или третьей четверти, найти точку, наиболее
близкую к началу координат. Если таких точек нет, то вывести точку с нулевыми
координатами.

Не могу понять как искать в 1й и 3й четверти. Буду признателен за помощь

Добавлено через 12 секунд
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
#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
int main() {
    int n, i;
    setlocale(LC_ALL, "ru");
    cin >> n;
    double a[101];
    double z = 0, zmin = 0, x = 0, y = 0;
    for (i = 1;i <= n;i++) {
        if (i % 2 != 0) {
            cout << "введите x" << endl;
            cin >> a[i];
        }
        else {
            cout << "введите y" << endl;
            cin >> a[i];
        }
    }
    for (i = 1;i <= n;i++) {
        if ((a[i] < 0) && (a[i + 1] > 0)) {
            z = sqrt(pow(a[i], 2) + pow(a[i + 1], 2));
            if (z < zmin) {
                zmin = z;
                x = a[i];
                y = a[i + 1];
            }
        }
    }
    cout << x << "," << y << endl;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2020, 14:02
Ответы с готовыми решениями:

Среди всех точек, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат...
Дано множество A из N точек (точки заданы своими координатами х, у). Среди всех точек этого...

Найти точку среди точек данного множества, лежащих в первой четверти, наиболее близкую к началу координат
Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех...

Найти точку среди точек данного множества, лежащих в первой четверти, наиболее близкую к началу координат
Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех...

Среди точек множества, лежащих в первой или третьей четверти, найти точку, наиболее близкую к началу координат
Дано множество A из N точек (точки заданы своими координатами x, y). Среди всех точек этого...

30
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.11.2020, 16:49 21
Author24 — интернет-сервис помощи студентам
Denissia, тут какой есть вопрос - если точки находятся на одинаковом расстоянии, выведет первую. то есть я не знаю насколько это согласуется с условием
Цитата Сообщение от Denissia Посмотреть сообщение
Если таких точек нет, то вывести точку с нулевыми
координатами.
то есть что значит таких точек нет ? есть несколько точек на одинаковом расстоянии ?

Добавлено через 3 минуты
Цитата Сообщение от zayats80888 Посмотреть сообщение
Чего выкладывать то?
Цитата Сообщение от zayats80888 Посмотреть сообщение
std::sqrt
так я и не предлагал находить корень

что касается одной функции hypot, считается что три арифметические операции лучше одной функции ?
0
zayats80888
13.11.2020, 16:54
  #22

Не по теме:

Цитата Сообщение от Yetty Посмотреть сообщение
что касается одной функции hypot, считается что три арифметические операции лучше одной функции ?
А что там внутри функции?

0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.11.2020, 16:57 23
Цитата Сообщение от zayats80888 Посмотреть сообщение
А что там внутри функции?
я понимаю к чему Вы клоните - скорее всего там извлечение корня. но Вы уверены что три операции будут работать быстрее ?
0
1 / 1 / 0
Регистрация: 07.04.2020
Сообщений: 54
13.11.2020, 17:08  [ТС] 24
Всех благодарю за помощь
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.11.2020, 17:16 25
zayats80888, ради интереса посмотрел что пишут в интернете. при достаточно больших значениях x при умножении x*x возможно переполнение типа (любого типа), при применении hypot этого недостатка нет.
0
zayats80888
13.11.2020, 17:27
  #26

Не по теме:

Цитата Сообщение от Yetty Посмотреть сообщение
я понимаю к чему Вы клоните - скорее всего там извлечение корня.
Я к этому не клоню. Что там внутри, зависит от компилятора.
Цитата Сообщение от Yetty Посмотреть сообщение
возможно переполнение типа (любого типа), при применении hypot этого недостатка нет
Поэтому в некоторых реализациях она работает даже медленнее, чем извлечение корня.

0
Yetty
13.11.2020, 18:11
  #27

Не по теме:

Цитата Сообщение от zayats80888 Посмотреть сообщение
Что там внутри, зависит от компилятора
если зависит от компилятора, к чему Вы это спросили
Цитата Сообщение от zayats80888 Посмотреть сообщение
А что там внутри функции?

0
zayats80888
13.11.2020, 18:30
  #28

Не по теме:

Цитата Сообщение от Yetty Посмотреть сообщение
к чему Вы это спросили
А Вы к чему спросили?
Цитата Сообщение от Yetty Посмотреть сообщение
что касается одной функции hypot, считается что три арифметические операции лучше одной функции ?

0
Yetty
13.11.2020, 18:52
  #29

Не по теме:

Цитата Сообщение от zayats80888 Посмотреть сообщение
А Вы к чему спросили?
задаём вопрос на вопрос ? в отличии от Вас отвечаю на вопрос:

в теме Вы предложили не использовать hypot. я поинтересовался чем лучше Ваш способ. насчёт больших чисел уже выяснил, что hypot предпочтительнее. поэтому и спросил чем лучше, может есть какие-то преимущества у предложенного Вами способа (прямой вопрос работает ли вариант x*x + y*y быстрее Вы скромно проигнорили)

0
zayats80888
13.11.2020, 19:11
  #30

Не по теме:

Цитата Сообщение от Yetty Посмотреть сообщение
прямой вопрос работает ли вариант x*x + y*y быстрее Вы скромно проигнорили
Возможно это не так, но тон вашего вопроса мне показался провокационным. К тому же вы не уточнили, что значит "лучше" в вашем вопросе. По поводу быстрее, то я тесты не проводил, но если посмотреть код некоторых реализаций hypot, то да, думаю быстрее. Что касается трёх арифметических операций, то скалярное произведение легко векторизируется компилятором (если вы не под условный "Электроника85" собираете), или же можно явно использовать интринсики для векторных инструкций. Что касается больших чисел, то и тут не всё однозначно, можете посмотреть это, например. И последнее, в рамках учебной задачи это пустая дискуссия, имхо.

0
Yetty
13.11.2020, 19:40     Дано множество A из N точек. Найти точку, наиболее близкую к началу координат
  #31

Не по теме:

Цитата Сообщение от zayats80888 Посмотреть сообщение
По поводу быстрее, то я тесты не проводил
то есть плюсы Вашего способа привести не можете, правильно я Вас понял ? тогда мне непонятен категорический тон поста:
Цитата Сообщение от zayats80888 Посмотреть сообщение
для решения задачи не нужны ни std::hypot...
после которого у меня сложилось впечатление что я совершил какую-то ошибку, предложив применить функцию hypot (точнее заменить sqrt(x*x+y*y) на hypot) которая как раз специально разработана для нахождения расстояний

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2020, 19:40

Найти точку среди всех точек этого множества, лежащих в первой четверти, наиболее близкую к началу координат
помогите решить задачу если можно то скоментариями зарание спасибо. Дано множество A из N точек...

На плоскости заданы координатами N точек. Определить наиболее близкую точку к началу координат
На плоскости заданы координатами N точек. Определить наиболее близкую точку к началу координат....

Среди точек массива, лежащих в некоторой четверти, найти точку, наиболее близкую/удаленную от начала координат
Дан массив из N точек. Среди всех точек этого массива, лежащих в...

Найти подмножество, содержащее ровно M точек, центр тяжести которого находится наиболее близко к началу координат
Если честно я как то не могу полностью понять суть задачи, помогите желательно кодом мне срочно...

Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех точек этого множества
Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех...

Найти наиболее близкую к 0 точку
В массивах X и Y записаны соответствующие координаты точек плоскости. Найти наиболее близкую к 0...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru