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

Выбрать пару векторов или массивов, которая даст минимальное скалярное произведение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как решать дифференциальные уравнения http://www.cyberforum.ru/cpp-beginners/thread1491127.html
расскажите как решать дифуры если можно желательно с примером
C++ Объединить два похожих класса Доброго времени суток. Есть два класса, полностью одинаковых в логике, различие только в том что один содержит один enum, второй другой. Как объединить эти два класса что бы уменьшить объем кода,... http://www.cyberforum.ru/cpp-beginners/thread1491124.html
C++ Моделирование движущихся объектов на C++
Может быть вопрос не в этот раздел, но себя позиционирую как новичок ... т.ч. не ругайтесь ... Вопрос: Что бы качественно смоделировать движущийся управляемый объект в 3D или 4D формате - типа...
Разработка шаблонного класса-контейнера C++
Помогите пожалуйста разобраться! решаю задачу и не могу найти солюшен, всё очень просто, вот задача: Необходимо разработать класс контейнера, реализующий приведенный ниже интерфейс. При...
C++ Блок схема для программы http://www.cyberforum.ru/cpp-beginners/thread1491089.html
Приветствую! Нужна помощь в создании блок схемы. (Редактирование) Не составлял блок схемы до этого, что не так? (см.вложение). Задание: Надо составить прогу, которая позволяет текст,...
C++ Как правильно удалять выделенную память под указатель на указатель? есть код #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h> using namespace std; void sort_1(const int **&const ptr,const int& N) { for (int i = N - 1; i >= 0; i--)... подробнее

Показать сообщение отдельно
AlexVRud
463 / 174 / 46
Регистрация: 04.07.2014
Сообщений: 481
01.07.2015, 15:52
  • Если пишешь на С++, используй std::vector. Он более функционален и удобен.
  • У тебя по заданию длина векторов заранее не дана. Сказано только что она одинаковая.
  • Используй вектор от вектора (не забывая добавлять пробел между внешними < >):
    C++
    1
    
    std::vector< std::vector <double> > M;
  • Можно отдельно реализовать функцию скалярного произведения, но не забывая правильно передавать вектора как параметры:
    C++
    1
    2
    3
    4
    5
    
    double DotProduct(std::vector<double> &a, std::vector<double> &b) {
        /// ...
    }
    ...
        d = DotProduct(M[i], M[j]);
  • Используй разные сценарии инициализации векторов, в зависимости от известности его длины:
    C++
    1
    2
    3
    4
    5
    6
    7
    8
    
      size_t N;
      // N = ... Длина векторов
      std::vector v(N);
      for(size_t i=0; i<N; ++i) {
        // v[i] = ...
      }
      //...
      M.push_back(v);
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.