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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.90
alex4715
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 4
#1

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

08.03.2010, 09:30. Просмотров 4129. Ответов 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<<"Векторы не ортогональны";
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2010, 09:30     [Геометрия]Скалярное произведение векторов
Посмотрите здесь:

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

Скалярное произведение векторов - C++
Здравствуйте! Помогите пожалуйста найти ошибки #include &lt;iostream&gt; using namespace std; int main(int argc, char *argv) { ...

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

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

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

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

Найти скалярное произведение векторов - C++
Помогите пожалуйста, у самой никак не получается, надо написать программу на С++. Даны координаты двух n-мерных векторов A(a1; a2;..; an)...

Найти скалярное и векторное произведение векторов - C++
Вот программка для операций над векторами, но почему-то не хочет работать, посмотрите плиз: #include &lt;stdio.h&gt; #include &lt;iostream.h&gt;...

Вычислить скалярное произведение двух векторов - C++
7.6.1. Помогите, пожалуйста, решить задачу в С++. Вычислить скалярное произведение двух векторов.

Вычислить модули и скалярное произведение векторов - C++
Вычислить модули и скалярное произведение двух векторов a и b размерностью n=10. Премного благодарен, если поможете.

Скалярное произведение векторов и Intel TBB - C++
Добрый день. Требуется распараллелить программу вычисления скалярного произведения векторов с использованием библиотеки Intel Threading...

Скалярное произведение векторов - комплексное число - C++
Есть задание: Написать программу создания класса для реализации комплексных чисел. Предвидеть возможность сложения и вычитания...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EnzoMatrix
120 / 120 / 5
Регистрация: 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);
alex4715
0 / 0 / 0
Регистрация: 08.03.2010
Сообщений: 4
08.03.2010, 12:43  [ТС]     [Геометрия]Скалярное произведение векторов #3
Спасибо большое. Увеличили мои познания в геометрии )

Добавлено через 3 часа 4 минуты
Извините за дабл пост. Я сделал всё по вашим формулам.
Ввожу координаты и в результате получаю это:
http://s46.***********/i111/1003/bc/e9a9e22df2ed.jpg

Он всё выводит правильно?
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
08.03.2010, 15:57     [Геометрия]Скалярное произведение векторов #4
вроде верно
Yandex
Объявления
08.03.2010, 15:57     [Геометрия]Скалярное произведение векторов
Ответ Создать тему
Опции темы

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