Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 12
1

Класс "динамический массив" - добавление и удаление элементов в рантайме

12.05.2015, 19:50. Показов 2803. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef ARRAY// if not defined
#define ARRAY
Class ARRAY{
Public
           ARRAY();
~
         ARRAY();
Void push_back (int value);
Int get_value(int index);
Int get_size();
Private:
Int * p;
Int size;
Boot index Correct (int index);
}
#end if// array
Array.cpp (функции)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include “array.h”
Array:: array() {
Size=0;
P=null;
}
Array::~array() {
Delete[]p;
}
Void array:: puxh_back (int value){
…..
}
Int array:: get_value (int index)
{
….
}
Int array:: get_size() 
{
Return size;
}
Нужно можно было в реальном времени можно было добавлять и удалять информацию

Добавлено через 6 минут
Помогите пожалуйста дописать неостающий код. Ни как могу доделать её( Всем за ранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2015, 19:50
Ответы с готовыми решениями:

Одномерный динамический массив, передача в функции, добавление и удаление элемента
Разбираю одномерные динамические массивы. Пока всё просто, пока и не возникает вопросов. Массив...

Добавление элементов в динамический массив
Здравствуйте!У меня задание:сформировать массив из сумм отрицательных элементов каждой строки,если...

Добавление элементов в динамический массив структур
Здраствуйте ,пишу программу, но уже в начале как-то не идет. Буду очень признателен ,если кто-то...

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

Динамический массив, удаление и вставка элементов
Имеется класс пользователя. Нужно создать динамический массив. MyClass **arr; Инициализация: arr...

7
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 12
15.05.2015, 21:58  [ТС] 2
Нужно сделать пустой динамический массив для которого в пушбэке выделяется память.
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
15.05.2015, 22:25 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class array
{
private:
    size_t mySize;
    int *myData;
public:
    array(size_t);
    array(array& rhs);
    ~array();
    void set(int i,int value);
    int get(int i);
    size_t getSize();
    array & operator=(array& rhs);
};
Добавлено через 32 секунды
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
#include<iostream>
#include"array.h"
using namespace std;
array::array(size_t size)
 {
    mySize=size;
    myData=new int[mySize];
 }
array::~array()
 {
    delete [] myData;
 }
void array::set(int i,int value)
 {
     if(i<0||i>(mySize-1))
     {
       system("cls");
       cout<<"Ошибка в указании размерности\n";
       system("pause");
     }
    myData[i]=value;
 }
int array::get(int i)
 {
 if(i<0||i>(mySize-1))
     {
       system("cls");
       cout<<"Ошибка в указании размерности\n";
       system("pause");
       return 0;
     }
   return myData[i];
 }
size_t array::getSize()
{
 return mySize;
}
array::array(array & rhs)
{
    mySize=rhs.mySize;
    myData=new int [mySize];
    for(int i=0;i<mySize;i++)
        myData[i]=rhs.myData[i];
}
array&array::operator=(array& rhs)
{
    if(this!=& rhs)
    {
       mySize=rhs.mySize;
       delete [] myData;
       myData=new int [mySize];
       for(int i=0;i<mySize;i++)
            myData[i]=rhs.myData[i];
    }
  return *this;
 }
Добавлено через 30 секунд
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
#include<iostream>
#include"array.h"
 
using namespace std;
int main ()
{
    setlocale(LC_ALL,"Rus");
cout<<"\tarray a(10)\n";
array a(10);
for(int i=0;i<a.getSize();i++)
a.set(i,i*i);
for(int i=0;i<a.getSize();i++)
cout<<a.get(i)<<" ";
cout<<endl;
cout<<"\tarray b(a)\n";
array b(a);  //Конструктор копий
for(int i=0;i<b.getSize();i++)
cout<<b.get(i)<<" ";
cout<<endl;
cout<<"\tarray c\n";
array c(20);
for(int i=0;i<c.getSize();i++)
c.set(i,i*i);
for(int i=0;i<c.getSize();i++)
cout<<c.get(i)<<" ";
cout<<endl;
cout<<"\tarray c=a\n";
c=a;
for(int i=0;i<c.getSize();i++)
cout<<c.get(i)<<" ";
cout<<endl;
system("pause");
return 0;
}
Добавлено через 2 минуты
Я писал такой класс ...это первый мой , но он вроде работал правильно и как раз про то что ты спрашивал
0
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 12
16.05.2015, 09:00  [ТС] 4
Черный мечник, Так все хорошо, спасибо большое, но он выдает фатальную ошибку fatal error: array.h: No such file or directory
#include"array.h" Что тут не так?
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
16.05.2015, 09:25 5
Заголовочные файлы создать файл array с раширением h
Файлы исходного кода создать файлы array с раширением cpp и main с раширением cpp

Добавлено через 39 секунд
у меня работает скорее что то не так делаете из этого

Добавлено через 6 минут
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
#include<iostream>
 
using namespace std;
 
class array
{
private:
    size_t mySize;
    int *myData;
public:
    array(size_t);
    array(array& rhs);
    ~array();
    void set(int i,int value);
    int get(int i);
    size_t getSize();
    array & operator=(array& rhs);
};
array::array(size_t size)
 {
    mySize=size;
    myData=new int[mySize];
 }
array::~array()
 {
    delete [] myData;
 }
void array::set(int i,int value)
 {
     if(i<0||i>(mySize-1))
     {
       system("cls");
       cout<<"Ошибка в указании размерности\n";
       system("pause");
     }
    myData[i]=value;
 }
int array::get(int i)
 {
 if(i<0||i>(mySize-1))
     {
       system("cls");
       cout<<"Ошибка в указании размерности\n";
       system("pause");
       return 0;
     }
   return myData[i];
 }
size_t array::getSize()
{
 return mySize;
}
array::array(array & rhs)
{
    mySize=rhs.mySize;
    myData=new int [mySize];
    for(int i=0;i<mySize;i++)
        myData[i]=rhs.myData[i];
}
array&array::operator=(array& rhs)
{
    if(this!=& rhs)
    {
       mySize=rhs.mySize;
       delete [] myData;
       myData=new int [mySize];
       for(int i=0;i<mySize;i++)
            myData[i]=rhs.myData[i];
    }
  return *this;
 }
 
int main ()
{
    setlocale(LC_ALL,"Rus");
cout<<"\tarray a(10)\n";
array a(10);
for(int i=0;i<a.getSize();i++)
a.set(i,i*i);
for(int i=0;i<a.getSize();i++)
cout<<a.get(i)<<" ";
cout<<endl;
cout<<"\tarray b(a)\n";
array b(a);  //Конструктор копий
for(int i=0;i<b.getSize();i++)
cout<<b.get(i)<<" ";
cout<<endl;
cout<<"\tarray c\n";
array c(20);
for(int i=0;i<c.getSize();i++)
c.set(i,i*i);
for(int i=0;i<c.getSize();i++)
cout<<c.get(i)<<" ";
cout<<endl;
cout<<"\tarray c=a\n";
c=a;
for(int i=0;i<c.getSize();i++)
cout<<c.get(i)<<" ";
cout<<endl;
system("pause");
return 0;
}
Добавлено через 49 секунд
или все запихать в 1 файл где вы работаете
0
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 12
16.05.2015, 11:19  [ТС] 6
Черный мечник, И вот такой вопрос.. Мне прям обязательно надо через push back а его тут нету(
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
16.05.2015, 11:37 7
вот метод меняет конкретную ячейку void set(int i,int value); его можно переминовать....
если хотите как в векторы что ячейка прибавляться будет то это сложнее придется думать...(видимо память перевыделать)...
0
0 / 0 / 0
Регистрация: 17.03.2015
Сообщений: 12
16.05.2015, 15:01  [ТС] 8
Черный мечник, Ну просто мне сказали что именно через push back было. Ну попробую и так. В любом случае огромное спасибо! Все хорошего вам!
0
16.05.2015, 15:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2015, 15:01
Помогаю со студенческими работами здесь

c++ добавление новых элементов в динамический массив изменяемой размерности
#include &lt;iostream&gt; using namespace std; int *Arr(int *arr, int size, void (*Resize)(int*&amp;,...

Добавление в динамический массив из элементов структурного типа новой строки
Задание: 1. Сформировать динамический массив из элементов структурного типа. Структурный тип...

Удаление и добавление элементов в массив
добрый день! есть задача: дан исходный массив А статический максимального размера N=1000. Текущий...

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

Добавление и удаление элементов в массив numpy
что то я совсем сообразить не могу, кажется уже всё перепробывал и append и vstack ничего работать...


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

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