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

Класс "Динамический одномерный массив целых чисел" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создайте программу для вывода на экран всех трёхзначных чисел http://www.cyberforum.ru/cpp-beginners/thread797059.html
1.Создайте программу для вывода на экран всех трёхзначных чисел, произведение цифр которых не превышает некоторое заданное число X. Не имею понятия как вычислить произведение цифр.Строка 10, вообще что то непонятное XD И еще почему то не определен идентификатор Sleep. #include <iostream> #include <windows.h> using namespace std; void main () { int x; cout <<"Введите Х:\n"; cin>>x; int...
C++ Упростить код Как можно упростить код? #include <iostream> #include <cmath> #include <cstdlib> #include <ctime> using namespace std; void sum( int *a, const int N ) { http://www.cyberforum.ru/cpp-beginners/thread797030.html
Обработка массивов. Переписать пять первых положительных элементов массива подряд в массив Y... C++
Дан массив Х. Переписать пять первых положительных элементов массива подряд в массив Y. Найти максимальный элемент массива Х. Помогите пожалуйста
C++ умножение переменных
как перемножить переменную g на h по модулю( 2^16+1)?
C++ Нужно написать три программы (Разработать класс Train) http://www.cyberforum.ru/cpp-beginners/thread796996.html
Разработать классы для описанных ниже объектов. Включить в класс методы (set (), get (), show ())-не обязательно все. Вот задание:Train(имя класса): Пункт назначения, Номер поезда, Время отправления, Число общих мест, Купейных, Плацкартных. Создать массив объектов. Вывести: а) список поездов, следующих до заданного пункта назначения; б) список поездов, следующих до заданного пункта...
C++ Работа со строкой (удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные) Из заданной строки удалить все цифры, подсчитать количество и сумму удаленных цифр, заменить все заглавные латинские буквы на строчные подробнее

Показать сообщение отдельно
rangerx
1919 / 1528 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
28.02.2013, 15:35     Класс "Динамический одномерный массив целых чисел"
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
#include <cstddef>
#include <algorithm>
#include <iostream>
 
class IntArray
{
public:
    explicit IntArray(std::size_t size, int init = 0) :
        _data(new int[size]),
        _size(size)
    {
        std::fill_n(_data, _size, init);
    }
 
    IntArray(const IntArray& other) :
        _data(new int[other._size]),
        _size(other._size)
    {
        std::copy(other._data, other._data + other._size, _data);
    }
 
    ~IntArray()
    {
        delete[] _data;
    }
 
    IntArray& operator = (IntArray rhs)
    {
        rhs.swap(*this);
        return *this;
    }
 
    int& operator [] (std::size_t idx)
    {
        return _data[idx];
    }
 
    const int& operator [] (std::size_t idx) const
    {
        return _data[idx];
    }
 
    std::size_t size() const
    {
        return _size;
    }
 
    void swap(IntArray& other)
    {
        std::swap(_data, other._data);
        std::swap(_size, other._size);
    }
 
    friend std::istream& operator >> (std::istream& stream, IntArray& rhs)
    {
        for(std::size_t i = 0; stream && i < rhs._size; ++i)
            stream >> rhs._data[i];
        return stream;
    }
 
private:
    int* _data;
    std::size_t _size;
};
 
int main()
{
    std::size_t n;
    std::cout << "n: ";
    std::cin >> n;
 
    IntArray a(n);
    std::cout << "'a'(n = " << a.size() << "): ";
    std::cin >> a;
 
    IntArray b(a);
    std::cout << "'b'(copy of 'a'): ";
    for(std::size_t i = 0; i < b.size(); ++i)
        std::cout << b[i] << ' ';
    std::cout << '\n';
}
 
Текущее время: 08:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru