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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Own3D
121 / 121 / 37
Регистрация: 29.10.2011
Сообщений: 308
#1

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

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

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 17: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
#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;
  
}
Own3D
121 / 121 / 37
Регистрация: 29.10.2011
Сообщений: 308
30.10.2012, 18:43  [ТС]     Составить описание класса для определения одномерных массивов #3
спасибо большое)
Yandex
Объявления
30.10.2012, 18:43     Составить описание класса для определения одномерных массивов
Ответ Создать тему
Опции темы

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