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

Скалярное произведение - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
ann333
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 39
09.06.2013, 22:10     Скалярное произведение #1
Составить программу, которая проверяет, есть ли среди векторов, заданных своими координатами. Вычисление скалярного произведения векторов оформить при помощи функции по формуле.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 22:10     Скалярное произведение
Посмотрите здесь:

скалярное произведение векторов C++
C++ Скалярное произведение.
Найти скалярное произведение C++
C++ Скалярное произведение
Скалярное произведение двух массивов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IronnMann
 Аватар для IronnMann
6 / 6 / 1
Регистрация: 21.05.2013
Сообщений: 36
10.06.2013, 00:24     Скалярное произведение #2
ann333, опишите подробнее вопрос.(мне кажется этот вопрос вообще некорректно поставлен)
1) есть ли среди векторов, заданных своими координатами| <---Что среди них должно быть? что нужно найти?
2)Вычисление скалярного произведения векторов оформить при помощи функции по формуле.| по какой формуле? хз.
3)какой у вас вектор? двухмерный, трехмерный?

а теперь ближе к делу:
1)для вектора подойдет например вот такая структура
C++
1
2
struct Vector3D{float x,y,z}; //---для трехмерного
struct Vector3D{float x,y};//--двухмерного
а вот вам шаблон функции:
C++
1
2
3
4
5
 
Vector3D ScaleM(Vector3D v1, Vector3D v2)
{Vector3D result;
result=v1*v2;//---это формула от балды :)  вы пишите сюда свою.
return result;};
и если вы не знаете как работать с функциями то вот описание: "выходной параметр" "имя функции"(входной параметр1, входной параметр N)
ann333
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 39
10.06.2013, 00:32  [ТС]     Скалярное произведение #3
IronnMann, только если можно самым простым способом.
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
10.06.2013, 01:50     Скалярное произведение #4
ann333, перепечатайте задание, а также учтите:
Официальными языками форума являются русский и английский языки.
IronnMann
 Аватар для IronnMann
6 / 6 / 1
Регистрация: 21.05.2013
Сообщений: 36
10.06.2013, 17:24     Скалярное произведение #5
ann333, в основном я и так уж написал всё, но приведу полный пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
struct Vector2D{float x,y;}; //--структура 2х-мерного вектора
struct Vector3D{float x,y,z;}; //--структура 3х-мерного вектора
 
Vector2D Scale2DM(Vector2D v1, Vector2D v2) //--функция вычисления двухмерного вектора
{Vector2D temp; //---переменная векторного типа
temp.x=v1.x*v2.x; // выполняем действие  с х координатой (это и есть место для выполнения формул, если это не те, пишите туда свои, картинка котороую вы отправили у меня не грузит с модема)
temp.y=v1.y*v2.y;// выполняем действие с у координатой
return temp; //-возвращаем значение (ключевое слово return)
}
Vector3D Scale3DM(Vector3D v1, Vector3D v2) //--трехмерный вектор
{Vector3D temp;
temp.x=v1.x*v2.x;
temp.y=v1.y*v2.y;
temp.z=v1.z*v2.z;
return temp;
}
 
int main() //---окно консоли
{Vector2D a, b,c;
std::cout<<"load vector 'a' \n";//- выводит сообщение в консоли "введите данные!"
std::cin>>a.x; //--вводим значения ...
std::cin>>a.y;
std::cout<<"load vector 'b' \n";
std::cin>>b.x;
std::cin>>b.y;
c=Scale2DM(a,b); //--вычисляем
std::cout<<"x="+c.x+" y="+c.y; выводим результат.
//---готово!
}
Добавлено через 23 секунды
ann333, в основном я и так уж написал всё, но приведу полный пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
struct Vector2D{float x,y;}; //--структура 2х-мерного вектора
struct Vector3D{float x,y,z;}; //--структура 3х-мерного вектора
 
Vector2D Scale2DM(Vector2D v1, Vector2D v2) //--функция вычисления двухмерного вектора
{Vector2D temp; //---переменная векторного типа
temp.x=v1.x*v2.x; // выполняем действие  с х координатой (это и есть место для выполнения формул, если это не те, пишите туда свои, картинка котороую вы отправили у меня не грузит с модема)
temp.y=v1.y*v2.y;// выполняем действие с у координатой
return temp; //-возвращаем значение (ключевое слово return)
}
Vector3D Scale3DM(Vector3D v1, Vector3D v2) //--трехмерный вектор
{Vector3D temp;
temp.x=v1.x*v2.x;
temp.y=v1.y*v2.y;
temp.z=v1.z*v2.z;
return temp;
}
 
int main() //---окно консоли
{Vector2D a, b,c;
std::cout<<"load vector 'a' \n";//- выводит сообщение в консоли "введите данные!"
std::cin>>a.x; //--вводим значения ...
std::cin>>a.y;
std::cout<<"load vector 'b' \n";
std::cin>>b.x;
std::cin>>b.y;
c=Scale2DM(a,b); //--вычисляем
std::cout<<"x="+c.x+" y="+c.y; выводим результат.
//---готово!
}
Yandex
Объявления
10.06.2013, 17:24     Скалярное произведение
Ответ Создать тему
Опции темы

Текущее время: 22:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru