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

Как вывести на экран динамический массив? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
mixon-21
 Аватар для mixon-21
3 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 219
26.08.2013, 15:43     Как вывести на экран динамический массив? #1
Как вывести наэкран динамический масив подскажите плиз

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
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
class myMas
{
public:
myMas();
~myMas();
int operator[](int ar);
void display();
private:
int *size;
int m;
};
 
myMas::myMas()
{
size=new int[10];
}
 
 
myMas::~myMas()
{
delete [] size;
}
int myMas::operator[](int ar)
{
return ar*m;
}
void myMas::display()
{
 
?????????????????;
}
void main()
{
    myMas ekz[5];
    ekz[5].display();
 
system ("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2013, 15:43     Как вывести на экран динамический массив?
Посмотрите здесь:

Как вывести на экран двухмерный массив в виде матрицы? C++
C++ Сформировать динамический двумерный массив, заполнить его случайными числа-ми и вывести на экран монитора. Добавить строку в начало матрицы
C++ двумерный динамический массив (вывод на экран)
C++ Дан массив натуральных чисел А[m,n] и число а. Вывести этот массив на экран, вычислит количество элементов равных а и вывести их индексы
C++ Подскажите, пожалуйста, как вывести на экран двумерный массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
26.08.2013, 16:18     Как вывести на экран динамический массив? #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
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
class myMas
{
    public: 
        myMas();
        ~myMas();
        myMas(int n);
    int operator[](int ar);
    void display();
    private:
        int *size;
        int m;
        int count;
};
myMas::myMas(int n)
{
    size = new int[n];
    count = n;
}
myMas::~myMas()
{
    delete [] size;
}
int myMas::operator[](int ar)
{
    return myMas::size[ar];
}
void myMas::display()
{
    for (int i = 0; i < myMas::count; i++)
        cout << myMas::size[i] <<endl;
}
void main()
{
    myMas ekz = myMas(5);
    ekz.display();
    system ("pause");
    cin.get();
}
mixon-21
 Аватар для mixon-21
3 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 219
26.08.2013, 17:36  [ТС]     Как вывести на экран динамический массив? #3
А как теперь перегрузить operator+


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
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
class myMas
{
public:
myMas(int n);
~myMas();
int operator[](int ar);
myMas& operator+(const myMas& ar);
void display();
private:
int *size;
int m;
int count;
};
 
myMas::myMas(int n)
{
size=new int[n];
count=n;
}
 
 
myMas::~myMas()
{
delete [] size;
}
int myMas::operator[](int ar)
{
    return myMas::size[ar];
}
 
myMas& myMas::operator+(const myMas& ar)
{
    return *this;
}
void myMas::display()
{
    srand(time(NULL));
    for(int i=0;i<myMas::count;i++)
    {
        myMas::size[i]=rand()%10;
         cout << myMas::size[i] <<' ';
    }
}
void main()
{
    myMas ekz=myMas(5),ekz1=myMas(2),ekz2=ekz+ekz1;
 
    ekz2.display();
 
system ("pause");
}

+(добавление элемента в конец массива),


Добавлено через 6 минут
где operator+ (добавление элемента в конец массива),
san92der
14 / 14 / 3
Регистрация: 27.10.2012
Сообщений: 108
26.08.2013, 17:59     Как вывести на экран динамический массив? #4
Может быть легче будет заменить "int* size" на "vector<int> size"?
Тогда для добавления элемента(в том числе и в перегруженном операторе) достаточно будет добавить size.push_back(n); где n - добавляемая переменная. И о памяти беспокоиться не надо.
mixon-21
 Аватар для mixon-21
3 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 219
26.08.2013, 18:42  [ТС]     Как вывести на экран динамический массив? #5
Цитата Сообщение от san92der Посмотреть сообщение
Может быть легче будет заменить "int* size" на "vector<int> size"?
Тогда для добавления элемента(в том числе и в перегруженном операторе) достаточно будет добавить size.push_back(n); где n - добавляемая переменная. И о памяти беспокоиться не надо.
Может быть только вектора мы еще не изучали.

Добавлено через 38 минут
Создайте класс динамического массива, в котором реализована проверка выхода за границы массива. Перегрузите операторы: [ ], =, +, -,++ (добавление элемента в конец массива), -- (удаление элемента из конца массива).
san92der
14 / 14 / 3
Регистрация: 27.10.2012
Сообщений: 108
26.08.2013, 20:41     Как вывести на экран динамический массив? #6
Ты тогда лучше из display() убери добавление переменных. У тебя есть переменная, которая хранит размер выделенной памяти(count), добавь еще одну, которая будет хранить количество элементов в массиве(назови, например, size, а сам массив переименуй в mass, а то как-то странно).
И тогда напиши отдельную функцию добавления нового элемента на подобии:
C++
1
2
3
4
5
6
AddElem(int elem)
{
   if(count==size)return 1;
   mass[size]=elem;
   size++;
}
Потом ставь эту функцию туда, где ты собираешься добавлять элементы. Например, при перегрузке operator++
Yandex
Объявления
26.08.2013, 20:41     Как вывести на экран динамический массив?
Ответ Создать тему
Опции темы

Текущее время: 20:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru