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

[Геометрия]Скалярное произведение векторов

08.03.2010, 09:30. Показов 7123. Ответов 3
Метки нет (Все метки)

Добрый день.
Есть вот такая задача:

Даны векторы a и b Найти длины этих векторов, их скалярное произведение, а также косинус угла между ними. Предусмотреть возможность ввода данных пользователем, а также получение инструкций (справки) по использованию формул для вычислений.
Я написал программу, но не уверен верно ли написал.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <math.h>
 
void main ()
{
    float x1,y1,z1,x2,y2,z2,ab,a,b;
    cout<<"Введите вектор (ввод кординат через пробел) a=";
    cin>>x1>>y1>>z1;
    cout<<"Введите вектор (ввод кординат через пробел) b=";
    cin>>x2>>y2>>z2;
    a=x1+y1+z1;
    b=x2+y2+z2;
    ab=x1*x2+y1*y2+z1*z2;
    cout<<"Длина вектора a="<<a<<endl<<"Длина вектора b="<<b<<endl;
    cout<<"СкалЯрное произведение векторов a*b="<<ab<<" Косинус угла между ними cos="<<ab*cos(a)+cos(b)<<endl;
    if(ab==0) cout<<"Векторы ортогональны"; else cout<<"Векторы не ортогональны";
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2010, 09:30
Ответы с готовыми решениями:

Скалярное произведение векторов
Объясните, пожалуйста, значение вот этой строки: int scalar(int V1, int V2, int n)

Скалярное произведение векторов
Здравствуйте! Помогите пожалуйста найти ошибки #include &lt;iostream&gt; using namespace std; int...

Скалярное произведение двух векторов
Даны два вектора (одномерных массива), содержащих n вещественных элементов. Найти скалярное ...

Найти скалярное произведение векторов
нужно написать две программы 1) нахождение скалярного произведения векторов ...

3
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
08.03.2010, 09:35 2
Цитата Сообщение от alex4715 Посмотреть сообщение
a=x1+y1+z1;
Цитата Сообщение от alex4715 Посмотреть сообщение
cout<<"Длина вектора a="<<a
длина вектора равна не равна сумме его координат, поэтому:
C++
1
a=pow(pow(x1,2)+pow(y1,2)+pow(z1,2),0.5);
Цитата Сообщение от alex4715 Посмотреть сообщение
"Косинус угла между ними cos="<<ab*cos(a)+cos(b)
честно говоря не понял что имелось в виду, но по логике здесь должно быть:
C++
1
"Косинус угла между ними cos="<<ab/(a*b);
1
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 4
08.03.2010, 12:43  [ТС] 3
Спасибо большое. Увеличили мои познания в геометрии )

Добавлено через 3 часа 4 минуты
Извините за дабл пост. Я сделал всё по вашим формулам.
Ввожу координаты и в результате получаю это:


Он всё выводит правильно?
0
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
08.03.2010, 15:57 4
вроде верно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2010, 15:57
Помогаю со студенческими работами здесь

Найти скалярное произведение векторов
Помогите пожалуйста, у самой никак не получается, надо написать программу на С++. Даны координаты...

Распараллелить скалярное произведение векторов
Задание - распараллелить скалярное произведение векторов. вектора vec1 и vec2 заполняются не...

Найти скалярное произведение векторов
Даны два вектора x, y есть Rn. Найти скалярное произведение векторов.

Найти скалярное и векторное произведение векторов
Вот программка для операций над векторами, но почему-то не хочет работать, посмотрите плиз: ...


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

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

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