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

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

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

Работа с вектором - C++

22.06.2010, 00:16. Просмотров 608. Ответов 9
Метки нет (Все метки)

Здравствуйте!
Помогите, пожалуйста разобраться..я только изучаю язык. Как в данной программе реализовать графический интерфейс? Чтобы можно было выбирать определённые операции? И можно ли добавить именно ввод членов вектора и нахождение максимального\минимального членов заданного вектора?
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <conio.h>
#include <iostream.h>
 
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 Scalar2:   ";
   z.print();
   getch();
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
22.06.2010, 01:16     Работа с вектором #2
Цитата Сообщение от pavelkorr Посмотреть сообщение
Как в данной программе реализовать графический интерфейс?
Вариантов тьма! WinAPI, MFC (win only), Qt, wxWidgets, etc...
JamesBlack
37 / 37 / 3
Регистрация: 28.07.2009
Сообщений: 144
22.06.2010, 02:07     Работа с вектором #3
это вообще ваш код? Просто если вы смогли написать собственный класс с методами и перегрузкой операторов, то мне непонятно, почему вы не можете найти наибольший/наименьший элементы!
pavelkorr
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 8
22.06.2010, 10:38  [ТС]     Работа с вектором #4
Не удавалось осуществить нахождение минимума и максимума. Очень нужна помощь
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
22.06.2010, 13:38     Работа с вектором #5
а #include <vector> в этом случае не может помоч?
pavelkorr
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 8
22.06.2010, 15:04  [ТС]     Работа с вектором #6
Хорошо. Подскажите хотя бы, как сделать так, чтобы можно было вводить векторы почленно? у меня не получалось, пришлось в коде задать вектор сразу.
Заранее спасибо
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
22.06.2010, 15:12     Работа с вектором #7
я сам в этом не очень силен, но вот в помощь с++
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
22.06.2010, 17:33     Работа с вектором #8
Что значит "почленно"?
Если вы имеети ввиду вводить каждую координату отдельно, то делайте методы set для всех координат, например так:
C++
1
2
3
4
5
6
public:
    void setA(int A)
    {
        a = A;
    }
...
pavelkorr
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 8
24.06.2010, 21:01  [ТС]     Работа с вектором #9
Да. Я именно хочу добиться того, чтобы можно было вводить элементы этого вектора. В коде, как видно, нет такой возможности. элементы задаются по умолчанию.
Хочется или вводить каждый член, или сделать рандом..но тогда нужно обозначить длину вектора. кто знает как это все сделать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2010, 10:25     Работа с вектором
Еще ссылки по теме:

Непонятная ошибка с вектором C++
не могу разобраться с вектором C++
C++ Работа с вектором из класса
Работа с вектором C++
C++ Работа со string, который под вектором

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

Или воспользуйтесь поиском по форуму:
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
25.06.2010, 10:25     Работа с вектором #10
Если вы хотите сделать многомерный вектор произвольной размерности, то храните его размер и координаты в динамическом массиве.
Если просто в данном случае заполнять координаты случайным образом, тогда просто создать метод, где последовательно каждой координате присвоить значение, а размер в данном случае постоянный - 6.
Yandex
Объявления
25.06.2010, 10:25     Работа с вектором
Ответ Создать тему
Опции темы

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