0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
||||||
1 | ||||||
Помогите с задачей пожалуйста. Перегрузка операций.25.03.2008, 14:46. Показов 5537. Ответов 11
Метки нет Все метки)
(
Всем привет! Я новичок в изучении СИ, не могу разобраться как выполнить задачу.
Вариант следующий. Вектор в пятимерном евклидовом пространстве задается пятеркой своих координат. Реализовать: 1. сложение (вычитание) векторов; 2. скалярное произведение векторов; 3. векторное произведение векторов (операция %); 4. умножение вектора на скаляр. Первые два пунка я вроде еле как выполнил. Да и второй пункт выполнил как-то неправильно, кажется. Хотя в принципе работает... Как реализовать остальное?
0
|
25.03.2008, 14:46 | |
25.03.2008, 14:46 | |
Ответы с готовыми решениями:
11
Расставить приоритеты операций и вычислить значение заданного выражения (Помогите с задачей) Помогите пожалуйста с задачей по BORLAND С++ Помогите пожалуйста с простой задачей |
Почетный модератор
![]() 8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
25.03.2008, 15:34 | 2 |
а ты теоретически освежи-ка как делаются руками эти операции, тогда и думать будем, как тебе помочь...
0
|
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
|
25.03.2008, 19:26 [ТС] | 3 |
Так. Ну начнем с того, что облазил все конспекты и учебники, нигде не нашел нахождение векторного произведения в 5-ти мерном пространстве. После недолгих поисков гугла нашел следующее:
![]()
0
|
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
|
25.03.2008, 19:31 [ТС] | 4 |
Код
УУмножениевектора на скаляр. λ-число (скаляр) ā - вектор λā=с Произведением λā называется вектор, длинна которого равна |ā|·|λ|, а направление такое же, как и у вектора ā если λ больше 0, и противоположное, если λ меньше 0. Векторы называются коллиниарными, если они лежат на совпадающих прямых. Если векторы ā и в коллиниарны (ā№0; в№0), то они пропорциональны, т.е. существует такое положительное или отрицательное число l, что а=lв. Три вектора называются компланарными, если их можно уложить на одну плоскость.
0
|
Почетный модератор
![]() 8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
26.03.2008, 09:27 | 5 |
тогда вопрос, когда это return стал возвращать значения через запятую...
0
|
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
|
26.03.2008, 14:09 [ТС] | 6 |
![]() ![]() Нет никаких идей как 4-ый пункт выполнить и до ума довести программу? ![]()
0
|
Почетный модератор
![]() 8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
26.03.2008, 14:43 | 7 |
ну если это скалярное умножение, то на входе должен быть int, который перемножается на каждый элемент вектора, и потом возвращается новый вектор... если я правильно теорию помню...
0
|
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
|
26.03.2008, 16:55 [ТС] | 8 |
Скалярное произведение векторов A(x1,x2,x3,x4,x5...xn) и B(y1,y2,y3,y4,y5...xn) считается вроде
по формуле S=x1y1+x2y2+x3y3 + ... + xnyn А ты описал вроде умножение скаляр на вектор (пункт 4), вот только каким это образом в моей программе описать и сделать чтоб работало? ![]() ![]()
0
|
Почетный модератор
![]() 8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
27.03.2008, 10:34 | 9 |
вот что у меня вышло, хотя твой код рабочий был... я просто одну операцию перегрузил... или я что-то не понял...
Код
#include <vcl.h> #include <conio.h> #include <iostream.h> #pragma hdrstop #pragma argsused class vect { public: vect(int=0,int=0,int=0,int=0,int=0); vect operator+(const vect &) const; vect operator-(const vect &) const; vect operator*(const vect &); vect operator*(const int &); void print() const; private: int a,b,c,d,e; }; vect::vect(int a1,int b1,int c1,int d1,int e1) { a = a1; b = b1; c = c1; d = d1; e = e1; } vect vect::operator+(const vect &operand2) const { vect sum; sum.a = a + operand2.a; sum.b = b + operand2.b; sum.c = c + operand2.c; sum.d = d + operand2.d; sum.e = e + operand2.e; return sum; } vect vect::operator-(const vect &operand2) const { vect diff; diff.a = a - operand2.a; diff.b = b - operand2.b; diff.c = c - operand2.c; diff.d = d - operand2.d; diff.e = e - operand2.e; return diff; } vect vect::operator*(const vect &operand2) { vect proizv; proizv.a = a * operand2.a; proizv.b = b * operand2.b; proizv.c = c * operand2.c; proizv.d = d * operand2.d; proizv.e = e * operand2.e; return proizv; } vect vect::operator*(const int &operand2) { vect proizv; proizv.a = a * operand2; proizv.b = b * operand2; proizv.c = c * operand2; proizv.d = d * operand2; proizv.e = e * operand2; return proizv; } void vect::print() const { cout<<'('<<a<<", "<<b<<", "<<c<<", "<<d<<", "<<e<<')'; } int main(int argc, char* argv[]) { vect x(5,6,7,8,9),y(4,3,2,1,7); vect z; int scl = 8; cout<<"\n Vector 1: "; x.print(); cout<<"\n Vector 2: "; y.print(); z = x + y; cout<<"\n Slozhenie: "; z.print(); z = x - y; cout<<"\n Vichitanie: "; z.print(); z = x * y; cout<<"\n Vector*Vector: "; z.print(); z = x * scl; cout<<"\n Scalar1: "; z.print(); z = y * scl; cout<<"\n Scalar1: "; z.print(); getch(); return 0; }
0
|
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
|
28.03.2008, 12:17 [ТС] | 10 |
Спасибо!
0
|
Почетный модератор
![]() 8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
28.03.2008, 12:19 | 11 |
так работает али как?
0
|
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 22
|
||||||
08.04.2008, 18:52 [ТС] | 12 | |||||
Да, идея эта работает, переписал под себя только, вот что получилось...
Большое спасибо!
ПС: Код для Билдера, на остальном пока не умею ![]()
0
|
08.04.2008, 18:52 | |
08.04.2008, 18:52 | |
Помогаю со студенческими работами здесь
12
Помогите с задачей, пожалуйста! (файлы Си++)
Помогите пожалуйста с задачей на массив Помогите пожалуйста разобраться с задачей Помогите пожалуйста с задачей java Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Ошибка Docker "Got permission denied while trying to connect to the Docker daemon socket at"
hw_wired 14.02.2025
Разработка с использованием Docker может иногда преподносить неожиданные сюрпризы, и одним из самых распространенных камней преткновения становится ошибка с отказом в доступе к демону Docker. . . .
|
Ошибка "No 'Access-Control-Allow-Origin' header is present on the requested resource"
hw_wired 14.02.2025
При разработке современных веб-приложений нередко сталкиваешься с ошибкой "No 'Access-Control-Allow-Origin' header is present on the requested resource". Эта проблема возникает из-за политики. . .
|
Как закрыть порт в Linux
hw_wired 14.02.2025
Управление сетевыми портами в Linux - непростая, но важная задача для обеспечения безопасности системы. Каждый открытый порт - это потенциальная уязвимость, через которую злоумышленики могут. . .
|
Ошибка Angular "Can't bind to 'taskForm' since it isn't a known property of 'form'"
hw_wired 14.02.2025
При разработке веб-приложений на Angular можно столкнуться с ошибкой "Can't bind to '' since it isn't a known property of 'form'". Эта ошибка появляется в консоли браузера когда мы пытаемся. . .
|
Сообщение Git "Pulling without specifying how to reconcile divergent branches is discouraged"
hw_wired 14.02.2025
При работе с системой контроля версий Git многие разработчики сталкиваются с предупреждающим сообщением "Pulling without specifying how to reconcile divergent branches is discouraged". Это. . .
|
Как настроить количество пробелов в отступах табов в Visual Studio Code
hw_wired 14.02.2025
Visual Studio Code предоставляет несколько гибких способов настройки табуляции, каждый из которых имеет свои преимущества. Самый простой и наглядный метод - через графический интерфейс настроек, где. . .
|
Что означает знак восклицания в TypeScript
hw_wired 14.02.2025
TypeScript - удивительный язык программирования, который предоставляет множество возможностей для работы с типами данных. Особый интерес вызывает оператор утверждения ненулевого значения, который. . .
|
Как свернуть/скрыть секции кода в Visual Studio Code
hw_wired 14.02.2025
Ежедневно мы работам с файлами, содержащими сотни и тысячи строк кода. Навигация по такому объему становится настоящим испытанием, особенно когда нужно быстро найти нужный метод или переменную. . . .
|
Автоматическое создание файла requirements.txt в Python
hw_wired 14.02.2025
Дружелюбная среда для разработки на Python, один из самых широко используемых языков программирования, состоит не только из самого кода, но и целого ряда важных компонентов. И если вы когда-нибудь. . .
|
Передача переменных окружения в контейнер Docker
hw_wired 14.02.2025
При работе с Docker контейнерами возникает необходимость передать различные настройки и конфигурационные параметры - от строк подключения к базам данных до API ключей. И хотя можно жестко прописать. . .
|