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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Lordi1289
2 / 2 / 0
Регистрация: 02.11.2010
Сообщений: 103
#1

Класс вектор - C++

18.06.2012, 12:36. Просмотров 1212. Ответов 5
Метки нет (Все метки)

Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить конструктор без параметров, конструктор с параметром, конструктор с двумя параметрами. Конструктор без параметров выделяет место для одного элемента и инициализирует его в ноль. Конструктор с одним параметром, - размер вектора, - выделяет место и инициализирует номером в массиве, конструктор с двумя параметрами выделяет место (первый аргумент) и инициализирует вторым аргументом. Деструктор освобождает память. Определить функцию, которая присваивает элементу массива некоторое значение (параметр по умолчанию), функцию которая получает некоторый элемент массива. В переменную состояния устанавливать код ошибки, когда не хватает памяти, выходит за пределы массива. Определить функцию печати. Определить функции сложения, умножения, вычитания, которые производят эти арифметические операции с данными этого класса и встроенного float. Определить методы сравнения: больше, меньше или равно. Предусмотреть возможность подсчета числа объектов данного типа. Проверить работу этого класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 12:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс вектор (C++):

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс "вектор" с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Класс-вектор в С++ - C++
Здраствуйте. Передо мной стоит задача реализовать произведение и сложение векторов. Информации, той, что я нашел, оказалось мало. Программу...

Класс Вектор - C++
Здраствуйте! Может ли кто-нибудь помочь с объяснением проблемы , потому что я не знаю точно , что это берет. Это условие ....

Вектор класс - C++
Всем привет!!! Вот написал программу с класами а она не правильно работеает. Пожалуйста помогоите исправить ошыбки. Сама задача:Создать...

Класс вектор - C++
Помогите сделать

Класс вектор - C++
Здраствуйте! Помогите организовать класс вектор, в котором есть методы позволяющие инициализировать вектор, находить минимум и максимум,...

5
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
18.06.2012, 13:46 #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
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <stdio.h>
 
class vector
{
 private:
  float* f;
  int sz;
  int state;
  static int n;
 
 public:
  vector()
  { 
   f = new float[1];
   f[0] = 0;
   sz = 1;
   state = 0;
   n++;
  };
 
  vector(int a)
  {
   f = new float[a];
   int i;
   for(i=0;i<a;i++)
    f[i] = i;
   sz = a;
   state = 0;
   n++;
  };
 
  vector(int a, float b)
  {
   f = new float[a];
   int i;
   for(i=0; i<a;i++)
    f[i] = b;
   sz = a;
   state = 0;
   n++;
  };
 
  ~vector()
  {
   delete []f;
  };
 
  void setv(int a, float b)
  {
   f[a] = b;
  };
 
  float getv(int a)
  {
   return f[a];
  };
 
  void print()
  {
   int i;
   for (i = 0; i < sz; i++)
    printf("%d ", this->f[i]); 
  };
 
  friend int operator>(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++)
   {
    if ( !( this->f[i] > a->f[i] ) )
     return 0;
   }
   return 1;
  };
 
  friend int operator==(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++)
   {
    if ( !( this->f[i] == a->f[i] ) )
     return 0;
   }
   return 1;
  };
 
  friend int operator<(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++)
   {
    if ( !( this->f[i] < a->f[i] ) )
     return 0;
   }
   return 1;
  };
 
  friend void operator+(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++) 
    this->f[i] += a->f[i];
  };
 
  friend void operator-(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++) 
    this->f[i] -= a->f[i];
  };
 
  friend void operator*(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++) 
    this->f[i] *= a->f[i];
  };
 
 
  // число подсчета объектов данного типа
 
};
 
 
int main()
{
 
 
 return 0;
};
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
18.06.2012, 13:52 #3
asidorchenko, Первый вопрос - почему все операторы принимают указатель на вектор, вместо const ссылки?
Второй вопрос - зачем все операторы сделаны friend функциями, если это абсолютно не нужно?
1
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
18.06.2012, 13:54 #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Второй вопрос - зачем все операторы сделаны friend функциями, если это абсолютно не нужно?
а где логика? "не нужно" это не объяснение
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
18.06.2012, 13:55 #5
sandye51, Зачем функцию делать friend, если ее можно сделать свободной?
2
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
18.06.2012, 13:56 #6
ForEveR, а, ну если в этом смысле, то согласен.
я почему-то подумал что имеете ввиду сделать ее методом класса
1
18.06.2012, 13:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 13:56
Привет! Вот еще темы с ответами:

Класс вектор - C++
необходимо написать класс вектор (в геометрическом смысле в трёхмерном пространстве) реализовать : поворот вектора вокруг осей...

класс Вектор - C++
всем привет. Начинаю делать домашку :-) в классе вектор создаю метод: cVector.h class cVector { public: ...

Класс Вектор - C++
Решил написать свой класс вектор, приблизительно как в СТЛ. Сначала решил сделать каркас. Все функции без аллокатора и итератора. Сделал. И...

Класс Вектор - C++
Нужна помощь в написании программы. Класс &quot;Вектор&quot;. (Чем он отличается от массива? в том что мне дали про вектора ни слова. Помогите...


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

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

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