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

Написать программу вычисления модуля вектора, суммы, разности, скалярного и векторного произведения - C++

Восстановить пароль Регистрация
 
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
06.05.2014, 19:19     Написать программу вычисления модуля вектора, суммы, разности, скалярного и векторного произведения #1
Разработать класс трехмерных векторов и переопределить все операции над ними. Написать программу вычисления модуля вектора, суммы, разности, скалярного и векторного произведения, произведения вектора на число (слева и справа), сравнения векторов и проверки на параллельность. Ввести три вектора и проверить могут ли они составить базис трехмерного пространства.
Программа не компиллируется.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <conio.h>
using namespace std;
 
class clock {
    public:
        clock(long i1, long i2, long i3);
        void print() const;
        void reset(const clock& c);
        friend clock operator+(clock c1, clock c2);
        friend clock operator-(clock c1, clock c2);
        friend clock operator *(unsigned long m, clock c);
        friend clock operator *(clock c, unsigned long m);
        friend ostream& operator<<(ostream& out, clock x);
        friend istream& operator>>(istream& in, clock& x);
        private:
            long a, q;
            long n1, n2, n3;
        };
        clock operator+(clock c1, clock c2)
        {
            return (c1.n1 + c2.n1);
        }
        clock operator-(clock c1, clock c2)
        {
            return (c1.n1 - c2.n1);
        }
        inline clock::clock(long i1, long i2, long i3)
        {
            n1 = i1;
            n2 = i2;
            n3 = i3;
        }
        void clock::print() const
        {
            cout << n1 << n2 << n3;
        }
        std::ostream& operator<<(ostream& out, clock x) {
            return (out << x.a << "/ " << x.q << '\t');
        }
        std::istream& operator>>(istream& in, clock& x) {
            return(in >> x.a >> x.q);
        }
            int main() {
                clock t1(1, 2, 2), t2(1, 2, 4), t3(1, 2, 2);
                t1.print();
                t2.print();
                t1=t1+t2;
                t1.print();
                getch();
                return 0;
            }
Компиллятор выдаёт ошибку.
In function 'clock operator+(clock, clock)'::
could not convert '(c1.clock::n1 + c2.clock::n1)' from 'long int' to 'clock'
In function 'clock operator-(clock, clock)'::
could not convert '(c1.clock::n1 - c2.clock::n1)' from 'long int' to 'clock'
Как исправить, чтобы складывались два вектора?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2014, 19:19     Написать программу вычисления модуля вектора, суммы, разности, скалярного и векторного произведения
Посмотрите здесь:

Написать программу вычисления разности площадей квадрата и круга, вписанного в него C++
Задача: написать программу для вычисления модуля вектора C++
Написать программу для вычисления суммы C++
ScalarProduct для вычисления скалярного произведения двух векторов C++
Написать программу для проверки работы процедуры ScalarProduct для вычисления скалярного произведения двух векторов C++
Разработать алгоритм и записать программу вычисления значения суммы и произведения C++
C++ Написать программу для вычисления суммы f(a)+2f(a+h)+2f(a+2h)+...+2f(a+(n-1)h)+f(a+nh)
Составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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