Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/75: Рейтинг темы: голосов - 75, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 21

Создать класс, содержащий динамический массив и количество элементов в нем

07.10.2018, 13:35. Показов 14512. Ответов 25

Студворк — интернет-сервис помощи студентам
Создать класс, содержащий динамический массив и количество элементов в нем. Добавить конструктор, который выделяет память под заданное количество элементов, и деструктор. Добавить методы, позволяющие заполнять массив случайными числами, переставлять в данном массиве элементы в случайном порядке, находить количество различных элементов в массиве, выводить массив на экран. Пожалуйста помогите забыл где остановился
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
int main(int argc, char* argv[])
{
    srand(time(0)); 
    float *ptrarray = new float [10]; 
        for (int count = 0; count < 10; count++)
            ptrarray[count] = (rand() % 10 + 1) / float((rand() % 10 + 1)); 
     cout << "array = ";
        for (int count = 0; count < 10; count++)
            cout << setprecision(2) << ptrarray[count] << "    ";
        delete [] ptrarray; 
        cout << endl;
    system("pause");
    return 0;
}
если не сложно помогите доделать или объяснить
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.10.2018, 13:35
Ответы с готовыми решениями:

Создать динамический класс Book, содержащий динамический массив Authors
Мне нужно написать программу,а я не знаю как ее написать. Знаю, тут люди за кого-то не делают, укажите хотя бы направление. вот сама...

Создать класс содержащий динамический массив
Создать класс, содержащий динамический массив и количество элементов в нем. Добавить конструктор, который выделяет память под заданное...

Создать связный динамический список двунаправленный и в нем обеспечить подсчет элементов
Создать связный динамический список двунаправленный и в нем обеспечить подсчет элементов и найти минимальный элемент. Это идет как одно...

25
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 21
09.10.2018, 13:42  [ТС]
Студворк — интернет-сервис помощи студентам
а можно поподробнее куда его надо добавлять
0
 Аватар для all_this_pain
45 / 30 / 16
Регистрация: 25.02.2017
Сообщений: 103
09.10.2018, 15:42
а можно поподробнее куда его надо добавлять
Скопируйте текст из файла “MyArray.h” в файл, где находится функция main() и удалите строку #include “MyArray.h”
0
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 21
09.10.2018, 15:52  [ТС]
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
    MyArray<int> array(10);
 
    array.rand_val();
 
    cout << array << endl;
 
    array[3] = 123;
    array[4] = 456;
 
    cout << array;
 
    _getch();
    return 0;
}
#ifndef MY_ARRAY_H
#define MY_ARRAY_H
 
 
#include <iostream>
#include <ctime>
#include <stdexcept>
#include <cstdlib>
using namespace std;
 
template<typename T>
class MyArray {
private:
    T *_array; //Óêàçàòåëü íà ìàññèâ
    size_t _size; //Ðàçìåð ìàññèâà
public:
    //Êîíñòðóêòîð
    MyArray() : _size(10) {
        srand(time(NULL));
        _array = new T[_size];
    }
    
    MyArray(const MyArray<T> &array) : _size(array._size) {
        srand(time(NULL));
        _array = new T[_size];
        for (size_t i = 0; i < _size; i++) {
            _array[i] = array._array[i];
        }
    }
 
    MyArray(size_t size) : _size(size) {
        srand(time(NULL));
        _array = new T[_size];
    }
 
    //Äåñòðóêòîð
    ~MyArray() {
        delete[] _array;
    }
 
    //Âîçâðàùàåò ðàçìåð ìàññèâà
    size_t size() const { return _size; }
 
    //Çàïîëíÿåò ìàññèâ ñëó÷àéíûìè çíà÷åíèÿìè
    void rand_val() {
        const int MAX_VAL = 200;
        for (size_t i = 0; i < _size; i++) {
            _array[i] = rand() % MAX_VAL - MAX_VAL / 2;
        }
    }
 
    MyArray<T> & operator=(const MyArray<T> &arr) {
        if (this != &arr) {
            delete[] _array;
            _size = arr._size;
            _array = new T[_size];
            for (size_t i = 0; i < _size; i++) {
                _array[i] = arr._array[i];
            }
        }
 
        return *this;
    }
 
    //Âîçâðàùàåò çàäàííûé ýëåìåíò
    T& operator[](size_t i) {
        if (i > _size) {
            throw std::out_of_range("Âûõîä çà ïðåäåëû äèàïàçîíà");
        }
        return _array[i];
    }
 
    //Âûâîä â êîíñîëü
    template<typename _T>
    friend ostream& operator<< (ostream &stream, MyArray<_T> &array);
};
 
//Âûâîä â êîíñîëü
template<typename T>
ostream & operator<<(ostream & stream, MyArray<T>& array) {
    for (size_t i = 0; i < array._size; i++) {
        stream << array._array[i] << " ";
    }
    return stream;
}
 
#endif //MY_ARRAY_H
сделал как вас понял
выдаёт
[Error] 'MyArray' was not declared in this scope
[Error] expected primary-expression before 'int'
[Error] 'array' was not declared in this scope
0
 Аватар для all_this_pain
45 / 30 / 16
Регистрация: 25.02.2017
Сообщений: 103
09.10.2018, 15:57
Удалите строки с директивами препроцессора, которые были в файле “MyArray.h”:
- #ifnded ...
- #define
- #endif
0
0 / 0 / 0
Регистрация: 11.07.2018
Сообщений: 21
10.10.2018, 17:55  [ТС]
я сделал но ошибки те же остались



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
#include <iostream>
#include <conio.h>
#include <ctime>
#include <stdexcept>
#include <cstdlib>
using namespace std;
 
int main() {
    MyArray<int> array(10);
 
    array.rand_val();
 
    cout << array << endl;
 
    array[3] = 123;
    array[4] = 456;
 
    cout << array;
 
    _getch();
    return 0;
}
template<typename T>
class MyArray {
private:
    T *_array; //Указатель на массив
    size_t _size; //Размер массива
public:
    //Конструктор
    MyArray() : _size(10) {
        srand(time(NULL));
        _array = new T[_size];
    }
    
    MyArray(const MyArray<T> &array) : _size(array._size) {
        srand(time(NULL));
        _array = new T[_size];
        for (size_t i = 0; i < _size; i++) {
            _array[i] = array._array[i];
        }
    }
 
    MyArray(size_t size) : _size(size) {
        srand(time(NULL));
        _array = new T[_size];
    }
 
    //Деструктор
    ~MyArray() {
        delete[] _array;
    }
 
    //Возвращает размер массива
    size_t size() const { return _size; }
 
    //Заполняет массив случайными значениями
    void rand_val() {
        const int MAX_VAL = 200;
        for (size_t i = 0; i < _size; i++) {
            _array[i] = rand() % MAX_VAL - MAX_VAL / 2;
        }
    }
 
    MyArray<T> & operator=(const MyArray<T> &arr) {
        if (this != &arr) {
            delete[] _array;
            _size = arr._size;
            _array = new T[_size];
            for (size_t i = 0; i < _size; i++) {
                _array[i] = arr._array[i];
            }
        }
 
        return *this;
    }
 
    //Возвращает заданный элемент
    T& operator[](size_t i) {
        if (i > _size) {
            throw std::out_of_range("Выход за пределы диапазона");
        }
        return _array[i];
    }
 
    //Вывод в консоль
    template<typename _T>
    friend ostream& operator<< (ostream &stream, MyArray<_T> &array);
};
 
//Вывод в консоль
template<typename T>
ostream & operator<<(ostream & stream, MyArray<T>& array) {
    for (size_t i = 0; i < array._size; i++) {
        stream << array._array[i] << " ";
    }
    return stream;
}
0
 Аватар для all_this_pain
45 / 30 / 16
Регистрация: 25.02.2017
Сообщений: 103
10.10.2018, 18:02
Цитата Сообщение от Алексей Макаров Посмотреть сообщение
я сделал но ошибки те же остались
Переместите функцию main в самый конец файла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2018, 18:02

Создать динамический дек и в нем произвести добавление элементов справа и слева
Нужно создать динамический дек и в нем произвести добавление элементов справа и слева, удаление их же а в конце все это вывести на экран!...

Создать класс-динамический массив
Помогите, пожалуйста!! не могу решить задачу, очень важно! Условие:создайте класс – динамический массив. В качестве элементов массива...

Посмотрите объявление вектора и попытайтесь создать динамический массив, содержащий элементы типа char
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() { vector&lt;int&gt; DynArrNums (3); DynArrNums = 365; ...

Создать класс который реализует динамический массив
Доброго времени суток! Помогите с такой задачей - Создать класс который реализует динамический массив(нельзя использовать шаблон...

Создать класс с 1 полем: динамический массив char
Необходимо создать класс с 1 полем: динамический массив char. С конструктором, куда передавать динамический массив char. В main создать...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru