Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Own3D
122 / 122 / 73
Регистрация: 29.10.2011
Сообщений: 308
1

Составить описание класса для определения одномерных массивов

30.10.2012, 09:48. Просмотров 1652. Ответов 2
Метки нет (Все метки)

напишите пжлста програмку:
Составить описание класса для определения одномерных массивов целых чисел (векторов).
Предусмотреть возможность обращения к отдельному элементу массива с контролем
выхода за пределы индексов, возможность выполнения операций поэлементного сложения
и вычитания массива, умножения и деления всех элементов массива на скаляр, печати
(вывода на экран) элементов массива.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 09:48
Ответы с готовыми решениями:

Составить описание класса для определения одномерных массивов целых чисел
вот прога Составить описание класса для определения одномерных массивов целых...

Составить описание класса для определения одномерных массивов целых чисел (векторов)
Здравствуйте, уважаемые программисты! Не так давно я начал изучать язык С++....

Описание класса для определения одномерных массивов строк фиксированной длины
Составить описание класса для определения одномерных массивов строк...

Описание класса для определения одномерных массивов строк. Исправить ошибку
Программа иногда работает правильно а иногда вылетает с ошибкой Unhandled...

Составить описание класса одномерных массивов строк, каждая строка задается длиной и указателем на выделенную для нее память
Реализация системы классов для работы с одномерными массивами строк.Составить...

2
David Sylva
1297 / 959 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 17:46 2
Лучший ответ Сообщение было отмечено Own3D как решение

Решение

Можно так сделать
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
#include <iostream> 
 
class Vector 
{ 
private: 
    int* array; 
    int size; 
public: 
    Vector() { size = 0; array = new int[size];  } 
    Vector(int s);
    Vector(const Vector& vec);  
    int operator[](int i);
    friend std::ostream& operator << (std::ostream&, const Vector&);  
    friend std::istream& operator >> (std::istream&, Vector&);  
    Vector operator = (Vector);
    Vector operator+(Vector); 
    Vector operator-(Vector); 
    Vector operator*(int n); 
    Vector operator/(int n);
};   
 
Vector Vector::operator/(int n) 
{ 
    for ( int i = 0; i < this->size; i++) 
        this->array[i] = this->array[i] / n; 
    return *this;
}
 
Vector Vector::operator*(int n) 
{ 
   for ( int i = 0; i < this->size; i++) 
        this->array[i] = this->array[i]*n; 
    return *this;
}
 
Vector Vector::operator-(Vector vec) 
{ 
    Vector temp(this->size); 
    for ( int i = 0; i < this->size; i++) 
        temp.array[i] = this->array[i] - vec.array[i]; 
    return temp;
}
 
Vector Vector::operator = (Vector vec) 
{  
    for ( int i = 0; i < this->size; i++) 
        this->array[i] = vec.array[i]; 
    return *this;
}
 
Vector Vector::operator+(Vector vec) 
{  
    Vector temp(this->size); 
    for ( int i = 0; i < this->size; i++) 
        temp.array[i] = this->array[i]+vec.array[i]; 
    return temp;
}
 
int Vector ::operator[](int i) 
{ 
    if(i >= size)  
    {
        std::cout << "Ошибка, выход за границы вектора " << std::endl; 
        return 0; 
    }
    else return array[i]; 
}
 
std::ostream& operator << (std::ostream& ob, const Vector& vec) 
{  
    for ( int i = 0; i < vec.size; i++) 
        ob << vec.array[i] << " "; 
    ob << std::endl; 
    return ob;
}
 
std::istream&  operator >> (std::istream& ob, Vector& vec) 
{   
    if(vec.size==0) 
    {
    std::cout << "Введите размер вектора " << std::endl; 
    std::cin >> vec.size; 
    } 
    else 
    for ( int i = 0; i < vec.size; i++) 
    { 
        std::cout << "Введите элемент " << "[" << i << "] ";
        ob >> vec.array[i]; 
    } 
    std::cout << std::endl;
    return ob;
}
 
 
Vector::Vector(int s) 
{ 
    size = s;
    array = new int[size];
    for ( int i = 0; i < size; i++)  
        array[i] = 0; 
}
 
Vector::Vector(const Vector& vec) 
{  
    size = vec.size; 
    array = new int[size]; 
    for ( int i = 0; i < size; i++) 
        array[i] = vec.array[i];
} 
 
int main() 
{  
   setlocale(0, "rus");
   Vector v1(5), v2(5); 
   std::cin >> v1 >> v2; 
 
   Vector v3(5); 
 
   v3 = v1 + v2; 
   std::cout << v3 << std::endl;
  
}
1
Own3D
122 / 122 / 73
Регистрация: 29.10.2011
Сообщений: 308
30.10.2012, 18:43  [ТС] 3
спасибо большое)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2012, 18:43

Составить описание класса одномерных массивов строк
Составить описание класса одномерных массивов строк,каждая строка которых...

Составить описание класса одномерных массивов строк
Составить описание класса одномерных массивов строк, каждая строка задается...

Описание класса: определение одномерных массивов
Составить описание класса для определения одномерных массивов строк...


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

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

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