0 / 0 / 0
Регистрация: 02.10.2019
Сообщений: 1
1

Перенос динамического массива из класса в класс

02.10.2019, 01:06. Показов 987. Ответов 3

Author24 — интернет-сервис помощи студентам
Здравствуйте! Никак не могу разобраться. Есть 2 класса 1) Array; 2)Raschet. В первом классе(Array) хранится динамический массив.
Как сделать так чтобы можно было бы работать с этим массивом во втором классе (Raschet) (Делать расчеты с ним, реализовать его вывод). Подскажите пожалуйста кто знает. Никак не могу сообразить.




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
#include<iostream>
 
using namespace std;
class Raschet;
class Array
{
    friend Raschet;
private:
    int *x, *y;
 
    int N;
public:
    Array() //конструктор без параметров
    {
        N = 1;
        x = new int[N];
        y = new int[N];
        for (int i = 0; i < N; i++) {
            x[i] = 0;
            y[i] = 0;
        }
    }
    Array(int n) //конструктор с одним параметром
    {
        N = n;
        x = new int[N];
        y = new int[N];
        set();
    }
 
    Array(const    Array & source) //конструктор копирования
    {
        N = source.N;
        x = new int[N];
        y = new int[N];
        for (int i = 0; i < N; i++){
            x[i] = source.x[i];
 
            y[i] = source.y[i];
 
 
        }
 
    }
 
    int getsize() //возвращение размера массива
    {
        return N;
    }
 
    void print() //отбразить массив
    {
        for (int i = 0; i < N; i++) {
            cout << "X [" << i << "] " << x[i] << "  " << endl;
    
        }
        cout << endl;
        for (int i = 0; i < N; i++) {
 
 
            cout << "Y [" << i << "] " << y[i] << "  " << endl;
        }
        cout << endl;
 
    }
 
 
 
    void set() //ввод  элементов
    {
 
        for (int i = 0; i < N; i++)  {
            cout << "Введите  X [" << i << "] ";
            cin >> x[i];
            cout << "Введите Y [" << i << "] ";
 
            cin >> y[i];
        }
    }
int GetX(){
    for (int i = 0; i < N; i++)
 
 
 
        return x[i];
 
        
 
    }
    ~Array() //деструктор
    {
        delete[]x, y; //освобождение памяти
    }
 
 
 
};
class Raschet{
private:
 
 
public:
 
    int sumx = 0;
 
 
    //void summaX(){
    //  Array x;
    //  x.GetX;
    //  sumx = sumx + x;
 
    //}
 
 
 
 
 
 
};
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    int n;
    
    cout << "Введите размер массива: ";
    cin >> n;
    Array x(n);
 
 
    cout << "Массив" << endl;
    x.print();
    
    
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2019, 01:06
Ответы с готовыми решениями:

Перенос динамического массива из одной функции в другую
Всем привет, задача отдельными функция реализовать заполнение и вывод массива на экран, но проблема...

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

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

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

3
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
02.10.2019, 04:19 2
Цитата Сообщение от Alexei2514 Посмотреть сообщение
Как сделать так чтобы можно было бы работать с этим массивом во втором классе
работа с массивами происходит обычно через указатели на их первый элемент.
0
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
02.10.2019, 09:34 3
Цитата Сообщение от Alexei2514 Посмотреть сообщение
Здравствуйте! Никак не могу разобраться. Есть 2 класса 1) Array; 2)Raschet. В первом классе(Array) хранится динамический массив.
Как сделать так чтобы можно было бы работать с этим массивом во втором классе (Raschet) (Делать расчеты с ним, реализовать его вывод). Подскажите пожалуйста кто знает. Никак не могу сообразить.
Что этот Raschet должен делать?

C++
1
2
3
4
5
6
7
8
9
10
11
class Raschet
{
public:
    Raschet(Array &arr)
    : m_arr(arr)
    {
    }
 
protected:
    Array &m_arr;
};
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
int main()
{
    setlocale(LC_CTYPE, "rus");
    int n;
    
    cout << "Введите размер массива: ";
    cin >> n;
    Array x(n);
    Raschet ras(arr);
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 1
03.10.2019, 07:35 4
Что этот Raschet должен делать?

Надо сделать так чтобы можно было работать в классе Raschet, с массивом из класса Array. Ну то есть допустим реализовать подсчет суммы всех X - ов массива из класса Array.(в классе raschet) К примеру cout массива реализовать во втором классе. Я как понимаю тут как то через указатели надо делать, но не как не пойму каким образом. То нулевые значения выдает, то мусор
0
03.10.2019, 07:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2019, 07:35
Помогаю со студенческими работами здесь

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из...

Класс динамического массива с проверкой выхода за границы массива
Задание такое: Создайте класс динамического массива, в котором реализована проверка выхода за...

Перенос трехмерного динамического массива в функцию(выбивает ехешник с ошибкой)
Здравствуйте. Баловался с трехмерным динамическим массивом, и наткнулся следующую ошибку. Сейчас...

Класс динамического массива
Создайте класс Array. Класс Array - это класс динамического массива. Рассмотреть одномерный...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru