функция — C ++ Vector Magnitude

Мне было поручено сделать функцию векторного значения в C ++ как часть математической библиотеки для проекта класса, однако я не уверен, как это сделать, если кто-то может порекомендовать некоторые страницы для чтения и или оказать мне некоторую помощь, которая будет отличный

Редактировать: мои знания C ++ не так уж велики, я ищу страницы, которые помогут мне научиться выполнять функции для векторов

-4

Решение

Быстрый Google придумывает

магнитуды

Поскольку это проект класса, я позволю вам прочитать ссылку, а не давать здесь полную информацию.

Вы можете прочитать об использовании векторов, например Вот.

Лично я предпочитаю использовать стандартные алгоритмы C ++, где это возможно. Вы можете делать такие вещи быстро и эффективно с помощью std :: collect.

#include <iostream>
#include <vector>
#include <numeric>
#include <string>
#include <functional>

int main()
{
std::vector<double> v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

double ssq = std::accumulate(v.begin(), v.end(),
0.0,
/* add here */);

std::cout << "ssq: " << ssq << '\n';
}

Линия отмечена /* add here */ где вам нужно добавить оператор, который получает текущую сумму квадратов и следующее значение, которое нужно добавить к нему, и возвращает новую сумму бегущих квадратов.

В качестве альтернативы, вы можете просто написать цикл for

double ssq = 0.0;
std::vector<double> v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (auto e : v)
{
// calculate sum of squares here
}
3

Другие решения

Вернитесь к математике GCSE:

c² = a² + b²

double magnitude = sqrt((Vector.x*Vector.x) + (Vector.y*Vector.y));
0

По вопросам рекламы [email protected]