Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Bekbolat
0 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 22
#1

Работа с классами(сложения двух векторов) - C++

16.08.2013, 11:08. Просмотров 961. Ответов 7
Метки нет (Все метки)

Составить описание класса. Определить конструктор по умолчанию, конструктор с параметрами и методы класса. Написать программу, демонстрирующую работу с классом для работы с векторами в двумерном евклидовом пространстве, которые задаются своими координатами – действительными числами x и y. Реализовать методы класса: ввод вектора; вывод вектора; сложение двух векторов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2013, 11:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с классами(сложения двух векторов) (C++):

Некорректная работа операции сложения векторов в классе - C++
Объясните мне пожалуйста, почему операция сложения векторов работает неккоректно! Дело в том, что после выполнения операции, каким-то...

Создать класс векторов, реализующий сложения и вычитания векторов - C++
Помогите найти ошибку, так как неправильно выводятся массивы, то скорее всего не получается сформировать массив. А задание:создать класс...

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов - C++
Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать производный класс, в котором реализована...

Работа с классами (сделать, чтобы функция возвращала массив, получаемый суммированием двух входных) - C++
В программу передаю 2 массива из пяти чисел. После выполнения функции getAM хочу, чтобы она возвращала массив, получаемый суммированием...

Реализовать метод сложения векторов - C++
Здравствуйте. Имеется базовый класс: class Triad { double a,b,c; public: Tria(double a1,double b1, double c1) { a=a1; ...

Перегрузка оператора +, для сложения координат 2х векторов - C++
Задание: разработать абстрактный тип данных "Вектор". АТД должен обеспечивать : ввод\вывод векторов,сложение\вычитание,перемножение на...

7
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
16.08.2013, 13:17 #2
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
class vect
{
      public:
             vect(int X, int Y) : x(X), y(Y) {}
             vect() : x(0), y(0) {}
             
             void input();
             void output();
             
             int get_x() { return x;}
             int get_y() {return y;}
             
             vect& operator = (const vect&);
            
      private:
              int x;
              int y;
};
 
void vect::input() 
{
     cout<<"X:";
     cin>>x;
     cout<<"Y:";
     cin>>y;     
}
 
void vect::output()
{
     cout<<x<<" "<<y<<endl;     
} 
 
vect& vect:: operator = (const vect& obj)
{
      x=obj.x;
      y=obj.y;
      return *this;
}
 
vect sum(vect& a, vect& b)
{
     vect res((a.get_x()+b.get_x()), (a.get_y()+b.get_y()));
     return res;
}
Добавлено через 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
class vect
{
      public:
             vect(int X, int Y) : x(X), y(Y) {}
             vect() : x(0), y(0) {}
             
             friend istream& operator>>(istream&, vect&) ;
             friend ostream& operator << (ostream&, vect&);             
             friend vect operator +(vect&, vect&);
             vect& operator = (const vect&);
             
      private:
              int x;
              int y;
};
 
istream& operator >>(istream& is, vect& obj)
{
              is>>obj.x >>obj.y;
              return is;
}
 
ostream& operator << (ostream& os, vect& obj)
{
               os<<obj.x<<" "<<obj.y;
               return os;              
} 
 
vect operator +(vect& a, vect& b)
{
           vect res( (a.x+b.x), (a.y+b.y));
           return res;
}
 
vect& vect:: operator = (const vect& obj)
{
      x=obj.x;
      y=obj.y;
      return *this;
}
Добавлено через 2 минуты
в первом определенны методы для ввода/вывода + самостоятельная функция суммы, а во втором просто перегруженные операторы ввода/вывода и оператор +
0
Bekbolat
0 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 22
16.08.2013, 13:19  [ТС] #3
можешь с main() отправит

Добавлено через 24 секунды
я несовсем разбираюсь в классах
0
Виктория_нимфа
3 / 3 / 0
Регистрация: 25.04.2013
Сообщений: 64
16.08.2013, 13:21 #4
в main никак не сложишь....
0
Bekbolat
0 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 22
16.08.2013, 13:22  [ТС] #5
аха, никак=((
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
16.08.2013, 13:27 #6
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
#include <iostream>
using namespace std;
 
class vect
{
      public:
             vect(int X, int Y) : x(X), y(Y) {}
             vect() : x(0), y(0) {}
             
             friend istream& operator>>(istream&, vect&) ;
             friend ostream& operator << (ostream&, vect&);             
             friend vect operator +(vect&, vect&);
             
             
      private:
              int x;
              int y;
};
 
istream& operator >>(istream& is, vect& obj)
{
              is>>obj.x >>obj.y;
              return is;
}
 
ostream& operator << (ostream& os, vect& obj)
{
               os<<obj.x<<" "<<obj.y;
               return os;              
} 
 
vect operator +(vect& a, vect& b)
{
           vect res( (a.x+b.x), (a.y+b.y));
           return res;
}
 
vect&  operator = (const vect& obj)
{
      x=obj.x;
      y=obj.y;
      return *this;
}
 
int main()
{
    vect a(2, 3), b, c;
    cin>>b;
    c=a+b;
    cout<<c;
}
Добавлено через 2 минуты
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
53
54
55
#include <iostream>
using namespace std;
 
class vect
{
      public:
             vect(int X, int Y) : x(X), y(Y) {}
             vect() : x(0), y(0) {}
             
             void input();
             void output();
             
             int get_x() { return x;}
             int get_y() {return y;}
             
             vect& operator = (const vect&);
            
      private:
              int x;
              int y;
};
 
void vect::input() 
{
     cout<<"X:";
     cin>>x;
     cout<<"Y:";
     cin>>y;     
}
 
void vect::output()
{
     cout<<x<<" "<<y<<endl;     
} 
 
vect& vect:: operator = (const vect& obj)
{
      x=obj.x;
      y=obj.y;
      return *this;
}
 
vect sum(vect& a, vect& b)
{
     vect res((a.get_x()+b.get_x()), (a.get_y()+b.get_y()));
     return res;
}
 
int main()
{
    vect a(2, 3), b, c;
    b.input();
    c=sum(a, b);
    c.output();
}
0
Bekbolat
0 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 22
16.08.2013, 13:39  [ТС] #7
а как будет скалярное произведение двух векторов, вычитание двух векторов
0
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
16.08.2013, 20:35 #8
Добавлено через 3 минуты
Bekbolat, вычитание - добавляем еще один оператор только вместо плюса пишем минус.
а скалярное произведение -
C++
1
2
3
4
double vect::scalar(vect v)
{
      return X*v.X+Y*v.Y;
}
0
16.08.2013, 20:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2013, 20:35
Привет! Вот еще темы с ответами:

Описать операции сложения и вычитания векторов с получением нового вектора - C++
Составить описание класса для объектов-векторов, задаваемых координатами в трехмерном пространстве. Описать операции сложения и вычитания...

Создать класс для обработки векторов разность векторов норму векторов - C++
Создать класс для обработки векторов разность векторов норму векторов

функция сложения двух чисел - C++
Написать функцию сложения двух чисел, используя только прибавление единицы.

Функция сложения двух чисел - C++
здравствуйте все, сидящие на форуме в столь поздний час. Не могли бы вы мне чем нибудь помочь с заданием с института, а то я его совсем...


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

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

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