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

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

Войти
Регистрация
Восстановить пароль
 
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
#1

Выбрать самую ближайшую точку - C++

08.05.2012, 21:22. Просмотров 399. Ответов 3
Метки нет (Все метки)

Есть задачка, но попробую абстрагироваться от неё:
есть 5 точек (x1 > x2> ...>x5). На вход поступает точка x. Нужно выбрать такую точку (x1 - x5), от которой будет ближе всего находится x. Немного упростим задачу: двигаться будем только вперёд (тоесть выбранная точка должна быть больше x). Хотя если предложите вариант хорошего алгоритма без моего упрощения то тоже буду рад
Я чего тему создал: что-то мой вариант с кучей min и max выглядит ущербно ...

Кому интересно: на практике будет таблица указателей на одну и ту же таблицу (5 указателей) и потом на вход функции будет поступать номер записи, а мне нужно быстренько решить от какого указателя из 5 мне плясать чтобы быстрее добраться до записи. Двигаться можно и вперёд и назад, но помогите алгоритмом хоть хода вперёд.

Реализацию алгоритма нужно сделать на си так что хитрить с stl нельзя.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 21:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выбрать самую ближайшую точку (C++):

Найти ближайшую к началу координат точку - C++
#include<stdio.h> int main(void) { char A,B; int x1,y1,x2,y2; printf("Input A(x1)="); scanf("%i",&x1); ...

Определить самую большую отрицательную и самую маленькую положительную температуры - C++
Помогите новичку,первая контрольная по программированию в с++ В массиве T(12) хранится среднемесячная температура для каждого из 12...

Определить самую большую четную и самую маленькую нечетную цифру в матрице и сложить их - C++
Помогите решить задачу:

Определить самую длинную и самую короткую из введенных строк - C++
Необходимо организовать ввод 3 названия городов. А потом вывести на экран консольно самое длинное и короткое название города. Лезут ошибки...

Структура: Для заданного автора вывести на экран его самую раннюю книгу и самую последнюю - по году издания. - C++
Дан массив записей, содержащий сведения о книгах: фамилия автора, название книги, год издания книги. Для заданного автора найти и вывести...

Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста - C++
Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста. Подскажите.

3
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
08.05.2012, 21:35 #2
Это не то?
0
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
08.05.2012, 21:38  [ТС] #3
Toshkarik, ну почти, мне минимальное расстояние надо найти, точнее важно не само расстояние, а то какая это точка будет.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.05.2012, 22:16 #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
#define SIZE 5
 
int main()
{
    int arr[SIZE] = { -3, 2, 4, 9, 15 };
    int i = 0;
    int a = 8;
    while(abs(arr[i] - a) > abs(arr[i + 1] - a) && i < SIZE - 1)
        ++i;
    printf("%d\n", i);
    return 0;
}
1
08.05.2012, 22:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 22:16
Привет! Вот еще темы с ответами:

В введенной строке заменить каждую запятую и точку на точку с запятой - C++
В введенной строке заменить каждую запятую и точку на точку с запятой и вывести полученную строку.

Найти точку D, симметричную точку A относительно стороны BC. - C++
помогите решить пожалуйста...

Найти из двух точек на плоскости ближайшую к заданной точке - C++
Помогите с задачей. На плоскости XOY даны три точки A(x1, y1), B(x2, y2), C(x3, y3). Выяснить, какая из точек B и C расположена ближе к...

Как приведенный код выводит ближайшую степень двойки? Разобрать работу программы - C++
unsigned k ; cin&gt;&gt;k; for (--k;k&amp;(k+1);k|=k+1); cout&lt;&lt;++k; вот есть программа?что она делает - я знаю(выводит ближайшую степень...


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

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

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