Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти все элементы массива, сумма которых равна заданному числу https://www.cyberforum.ru/ cpp-beginners/ thread425108.html
Привет. Как можно решить эту задачу не перебором? тут подойдет "задача о рюкзаке"?
C++ Не правильно читается файл
Здравствуйте! Подскажите, пожалуйста, из-за чего у меня не правильно читается файл и как это исправить. void GenerateCSVTable() { char fileName_ = "example.csv"; char varChar;...
C++ Проверить истинность высказывания "треугольник является равносторонним"
Здравствуйте помогите пожалуйста новичку заранее спасибо Boolean. Даны целые числа a, b, c, являющиеся сторонами некоторого треугольника. Проверить истинность высказывания: «Треугольник со...
C++ Определение типа процессора, в какой версии запускать лучше? #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <memory.h> extern void GET_CPU_MODEL(void); extern char VENDOR_ID_MSG; extern char CPU_MODEL; extern... https://www.cyberforum.ru/ cpp-beginners/ thread425103.html
C++ Изучение С++ https://www.cyberforum.ru/ cpp-beginners/ thread425098.html
Добрый вечер прошу совета , что изучать далее ? Освоил книгу Джеймса Либрети , Страуструппа. Вроде освоил АЗЫ ООП. Но как быть на практике. Более как создавать фантастические матрицы и фееримческие...
Дружственные функции C++
Разработайте алгоритм и создайте программу с исполь¬зованием дружественных функций и классов. Создайте программу с классом Dancer, который включает в себя следующие данные-эле¬менты о...
Скриншот окна программы C++
Требуется при нажатии (например, кнопки "s"), чтобы делался скриншот окна программы (командной строки) и сохранялся в определенную директорию! Спасибо.
C++ Рекурсивный вызов. Доброго времени суток. Кто может подсказать алгоритм: Есть n задач (задачи зависят друг от друга для одной нужна другая и т.д.). Есть n процессоров (1-n) Нужно обойти все возможные сочетания... https://www.cyberforum.ru/ cpp-beginners/ thread425087.html
C++ Итератор в <vector> https://www.cyberforum.ru/ cpp-beginners/ thread425086.html
Всем привет! Помогите пожалуйста советом. У меня есть вектор, содержащий символьные значения (кол-во символов заранее не известно, их вводит пользователь). Мне нужно найти элемент в векторе, и затем...
C++ Шаблоны функции Реализуйте следующие задание с использованием шаблона функции. Продемонстрируйте вызов шаблона для различных типов данных. Работа с одномерными массивами. В одномерном массиве, состоящем из n... https://www.cyberforum.ru/ cpp-beginners/ thread425084.html
55 / 53 / 24
Регистрация: 10.05.2009
Сообщений: 216
10.01.2012, 01:11  [ТС] 0

Демонстрационная программа класса вектор

10.01.2012, 01:11. Просмотров 2465. Ответов 11
Метки (Все метки)

Ответ


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
131
132
133
134
135
136
137
138
139
140
141
#ifndef Vector_h
#define Vector_h
 
#include <iostream>
#include <string>
 
using namespace std;
 
template <class T>
class Vector {
    unsigned int Size;
    T *ptrVector;
    friend ostream &operator << <> (ostream &output, const Vector <T> &Vect);
    friend istream &operator >> <> (istream &input, Vector <T> &Vect);
public: 
    Vector <T>();
    Vector <T>(unsigned int N);
    ~Vector <T>();
    unsigned int get_Size();
    void SaveInFile(Vector <T> Result);
    Vector <T> operator + (const Vector <T> &Vect); //сложение двух векторов
    Vector <T> operator - (const Vector <T> &Vect); //разность двух векторов
    T operator * (const Vector <T> &Vect); //скалярное произведение векторов
    Vector <T> operator + (T Number); //сложение вектора с числом
    Vector <T> operator - (T Number); // вычитание из вектора числа
    Vector <T> operator * (T Number); //умножение вектора на число
};
 
template <class T>
Vector <T>::Vector() {
    unsigned int N;
    do {
        cout << "Введите размерность вектора: ";
        cin >> N;
    } 
    while (N < 0);
    Size = N;
    try {
        ptrVector = new T[Size];
    }
    catch(bad_alloc) {
        cout << "Ошибка! Недостаточно памяти для вектора!";
        system("PAUSE");
    }
}
 
template <class T>
Vector <T>::Vector(unsigned int N) {
    Size = N;
    try {
        ptrVector = new T[Size];
    }
    catch(bad_alloc) {
        cout << "Ошибка! Недостаточно памяти для векторов!";
        system("PAUSE");
    }
}
 
template <class T>
Vector <T>::~Vector() {
    delete [] ptrVector;
}
 
template <class T>
unsigned int Vector <T>::get_Size() {
    return Size;
}
 
template <class T>
void Vector <T>::SaveInFile(Vector <T> Result) {
    fstream FileOut;
    const string NameFile = "Result.txt";
    FileOut.open(NameFile.c_str(),ios::out);
    FileOut << "Результат: " << Result;
    FileOut.close();
}
 
template <class T>
ostream &operator << <> (ostream &output, const Vector <T> &Vect) {
    for (unsigned int i = 0; i < Vect.Size; i++)
        output << Vect.ptrVector[i] << " ";
    return output;
}
 
template <class T>
istream &operator >> <> (istream &input, Vector <T> &Vect) {
    for (unsigned int i = 0; i < Vect.Size; i++) {
        cout << "Введите элемент №" << i+1 << ": ";
        input >> Vect.ptrVector[i];
    }
    return input;
}
 
template <class T>
Vector <T> Vector <T>::operator + (const Vector <T> &Vect) {
    Vector <T> tmp(Size);
    for (unsigned int i = 0; i < Size; i++)
        tmp.ptrVector[i] = ptrVector[i] + Vect.ptrVector[i];
    return tmp;
}
 
template <class T>
Vector <T> Vector <T>::operator - (const Vector <T> &Vect) {
    Vector <T> tmp(Size);
    for (unsigned int i = 0; i < Size; i++)
        tmp.ptrVector[i] = ptrVector[i] - Vect.ptrVector[i];
    return tmp;
}
 
template <class T>
T Vector <T>::operator * (const Vector<T> &Vect) {
    T Scalar = 0;
    for (unsigned int i = 0; i < Size; i++)
        Scalar += ptrVector[i] * Vect.ptrVector[i];
    return Scalar;
}
 
template <class T>
Vector <T> Vector <T>::operator + (T Number) {
    Vector <T> tmp(*this);
    for (unsigned int i = 0; i < Size; i++)
        tmp.ptrVector[i] += Number;
    return tmp;
}
 
template <class T>
Vector <T> Vector <T>::operator - (T Number) {
    Vector <T> tmp(*this);
    for (unsigned int i = 0; i < Size; i++)
        tmp.ptrVector[i] -= Number;
    return tmp;
}
 
template <class T>
Vector <T> Vector <T>::operator * (T Number) {
    Vector <T> tmp(*this);
    for (unsigned int i = 0; i < Size; i++)
        tmp.ptrVector[i] *= Number;
    return tmp;
}
#endif


Вернуться к обсуждению:
Демонстрационная программа класса вектор
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2012, 01:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Переопределение класса вектор
Переопределите класс Vector, описывающий вектор в пространстве: а) двухместную операцию сложения...

Вектор объектов класса
Всем привет! Несколько недель назад я писал сюда по поводу одной задачи. Она заключается в том,...

Наследование класса Вектор
Помогите написать прогу плииззз.... Разработать класс NormVector – вектор единичной длины,...

шаблон класса вектор
В общем говоря нужно описать методы вектора и перегрузки операций. Во всех контейнерах для...

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