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

Поиск наименьшего расстояния от одного элемента массиа до остальных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Опять указатели http://www.cyberforum.ru/cpp-beginners/thread948735.html
Здравствуйте. Изучаю эти туториалы: http://www.rastertek.com/dx11tut03.html В конце есть упражнение: конфигурацию видеокарты вывести в текстовой документ. Есть файл: d3dclass.cpp, ну и d3dclass.h соответственно. Там (в d3dclass.cpp) есть метод: void D3DClass::GetVideoCardInfo(char* cardName, int& memory) { strcpy_s(cardName, 128, m_videoCardDescription); memory = m_videoCardMemory; return;...
C++ Чистка памяти Имеет ли смысл в функции main() делать в конце очистку от экземпляра созданного класса delete имя_экземпляра_класса, или это сделает деструктор класса? Под экземпляр класса память в начале main() выделялась. http://www.cyberforum.ru/cpp-beginners/thread948730.html
C++ как задать текст длинной не больше 100 символов заканчивающийся точкой?
код пожалуйста))
C++ Работа с файлами (.txt)
В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину, и если да, то переменной m присвоить значение среднего элемента файла. В противном случае присвоить этой переменной значение первого числа файла.
C++ Возвращение ссылки на указатель использование её как левостороннего значения http://www.cyberforum.ru/cpp-beginners/thread948680.html
Есть шаблон: //------------------------------------------------------- template<class T> struct ts { private: void* data; public: ts(T* pt) : data(pt) { }
C++ Иерархия С++ Привет. Заинтересовал вопрос иерархии С++: код -> функции -> классы/структуры -> ?? подозреваю что дальше идут массивы классов, в общем, какие следующие шаги до самого конца? подробнее

Показать сообщение отдельно
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
05.09.2013, 22:20     Поиск наименьшего расстояния от одного элемента массиа до остальных
Цитата Сообщение от mano Посмотреть сообщение
М... к сожалению, близким к среднему арифметическому не будет((
Пример:
1 1 1 3 4 5 5
Среднее арифметическое:
2,85

Распределение разностей:
1 - 13
3 - 11
4 - 12
5 - 15
((

В задаче написано, что вход может быть до 500 элементов включительно...
Можно смотреть в думающий экран... около часа, может((
500*500*500*500... так 500 раз((

Тут наверняка как всегда где-то таится математический ключ))
3 - 11, самое близкое к 2.85. Я не понимаю, в чем проблема возникла.

Добавлено через 24 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <iomanip>
#include <numeric>
#include <algorithm>
 
int main()
  {
  double a [] = { 1, 5, 3, 4, 5, 1, 1 };
  double arithmetic_mean = std::accumulate(std::begin(a), std::end(a), 0.)/std::distance(std::begin(a), std::end(a));
  auto CloserByAbsoluteValue = [&arithmetic_mean] (double i_1, double i_2) -> bool
    {
    return fabs(i_1-arithmetic_mean)<fabs(i_2-arithmetic_mean);
    };
  auto element = std::min_element(std::begin(a), std::end(a), CloserByAbsoluteValue);
  auto Distance = [&element] (double sum, double i_1) -> double
    {
    return sum+fabs(i_1-*element);
    };
  double distance = std::accumulate(std::begin(a), std::end(a), 0., Distance);
  std::cout<<std::setprecision(DBL_DIG)<<distance<<std::endl;
  return 0;
  }
 
Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru