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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ardos
-133 / 7 / 0
Регистрация: 24.02.2013
Сообщений: 234
#1

создать массив с использованием new - C++

29.05.2013, 02:37. Просмотров 281. Ответов 7
Метки нет (Все метки)

как создать массив с помощью new?без использования контейнеров
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 02:37     создать массив с использованием new
Посмотрите здесь:

Создать проект с использованием существующего исходного кода C++
Создать функцию с использованием статической переменной (или переменных), определенной на локальном уровне. C++
Как правильно создать двумерный массив указателей с использованием calloc? и ввод данных в него C++
C++ Как создать динамический двумерный массив с использованием функции malloc?
C++ создать программу с использованием класса
двухмерный массив(можно с использованием функцией) C++
C++ Сделать одномерный массив с использованием указателей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12798 / 7258 / 809
Регистрация: 27.09.2012
Сообщений: 17,927
Записей в блоге: 2
Завершенные тесты: 1
29.05.2013, 02:38     создать массив с использованием new #2
C++
1
int * pArr = new int[100];
MrGluck
Ворчун
Эксперт CЭксперт С++
6614 / 3805 / 495
Регистрация: 29.11.2010
Сообщений: 10,040
29.05.2013, 03:02     создать массив с использованием new #3
Главное - не забыть про
C++
1
delete [] pArr;
ardos
-133 / 7 / 0
Регистрация: 24.02.2013
Сообщений: 234
29.05.2013, 04:17  [ТС]     создать массив с использованием new #4
я вообще на шарпе пишу,а как обратиться к свойству длина этого массива на плюсах?
Croessmah
Модератор
Эксперт CЭксперт С++
12798 / 7258 / 809
Регистрация: 27.09.2012
Сообщений: 17,927
Записей в блоге: 2
Завершенные тесты: 1
29.05.2013, 04:20     создать массив с использованием new #5
Цитата Сообщение от ardos Посмотреть сообщение
свойству длина этого массива на плюсах?
никак. Храните размер в переменной.
ardos
-133 / 7 / 0
Регистрация: 24.02.2013
Сообщений: 234
29.05.2013, 06:06  [ТС]     создать массив с использованием new #6
что делать? использую тип протектед и объявляю переменные таким типом функции паблик,делаю иерархию,но почему-то дальше второго производного класса ничего не наследуется и вообще при вызове этих функций в методе choise и выборе пункта меню срабатывают только функции класса Choise ,может кто-нибудь исправить код?

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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
// ConsoleApplication10.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <list>
#include <string>
#include <fstream>
#include <stdexcept>
#include <algorithm>
#include <cctype>
 
using namespace std;
 
class Sorting
{
protected:
    int ArrayLenght;
    int Amount;
    int *SortArray;
public:
     Sorting();
    ~Sorting();
    void SizeOfArry(int b)
    {
        SortArray=new int[b];
        ArrayLenght=b;
    }
    virtual void InputItems()
    {
        
        for(int i=0;i<ArrayLenght;i++)
        {
            SortArray[i]=rand();
            std::cout<<SortArray[i]<<"\n";
        }
    }
    virtual void quickSort(int a,int b)
    {
        ;
    }
    virtual void Result()
    {
        ;
    }
};
 
 Sorting:: Sorting()
{
}
 
 Sorting::~ Sorting()
{
}
 
 
 class Sort:Sorting
 {
 protected:
     int *SortArray;
     int ArrayLenght;
 
 public:
     Sort();
     ~Sort();
     void quickSort(int left, int right) {
    int i = left, j = right;
    int tmp;
    int pivot = SortArray[(left + right) / 2];
 
    /* partition */
    while (i <= j) {
        while (SortArray[i] < pivot)
        i++;
        while (SortArray[j] > pivot)
        j--;
        if (i <= j) {
            tmp = SortArray[i];
            SortArray[i] = SortArray[j];
            SortArray[j] = tmp;
            i++;
            j--;
        }
    }
 
    /* recursion */
    if (left < j)
        quickSort(left, j);
    if (i < right)
    quickSort(i, right);
     }
 };
 
 Sort::Sort()
 {
 }
 
 Sort::~Sort()
 {
 }
 
 class OutPut:Sort
 {
 protected:
    int ArrayLenght;
    int *SortArray;
 
 public:
     OutPut();
     ~OutPut();
     void Result()
     {
         for(int i=0;i<ArrayLenght;i++)
         {
             std::cout<<SortArray[i]<<"\n";
         }
     }
 };
 
 OutPut::OutPut()
 {
 }
 
 OutPut::~OutPut()
 {
 }
 
 class Choice:OutPut
 {
 protected:
     void SizeOfArry(int a){;}
     void InputItems(){;}
     void quickSort(int b,int c){;}
     void Result(){;}
 public:
     Choice();
     ~Choice();
     void choise()
     {
         while (true)
         {
             system("cls");
            int option = 0;
            std::cout << "1 -\n"
                    << "2 - \n"
                    << "3 - \n";
                    
            std::cin.clear();
            std::cin.sync();
            std::cin >> option;
            switch(option)
            {
                case 1:
                    SizeOfArry(12);
                    InputItems();
                    break;
                case 2:
                    quickSort(0,11);
                    break;
                case 3:
                    Result();
                    break;
                case 4:
                    exit(0);
                default:
                    std::cout << "Неверный выбор\n";
            }
            system("pause");
        
         }
     }
 };
 
 Choice::Choice()
 {
 }
 
 Choice::~Choice()
 {
 }
 
 int _tmain(int argc, _TCHAR* argv[])
{
    
    Choice ob1;
    ob1.choise();
    system("pause");
    //s1.InputItems();
    return 0;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6614 / 3805 / 495
Регистрация: 29.11.2010
Сообщений: 10,040
29.05.2013, 06:14     создать массив с использованием new #7
Зачем в каждом классе свой *SortArray и ArrayLength?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 06:32     создать массив с использованием new
Еще ссылки по теме:

C++ Динамический массив с использованием указателей
Создать рисунок с использованием цикла (цвета задаются случайным образом) C++
Задача на двумерный массив с использованием указателей C++
Создать БД с использованием массива записей C++
C++ Как на C++ создать графический интерфейс с использованием только символов

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

Или воспользуйтесь поиском по форуму:
ardos
-133 / 7 / 0
Регистрация: 24.02.2013
Сообщений: 234
29.05.2013, 06:32  [ТС]     создать массив с использованием new #8
убрал я их в классе output пишет 1 IntelliSense: член "Sorting::ArrayLenght" (объявлено в строке 20) недоступно c:\Users\user\Documents\Visual Studio 2012\Projects\ConsoleApplication10\ConsoleApplication10\ConsoleApplication10.cpp 110 18 ConsoleApplication10,тоже самое пишет и для sortarray хотя они должны наследоваться еще от базового класса?что тут может быть не то?
Yandex
Объявления
29.05.2013, 06:32     создать массив с использованием new
Ответ Создать тему
Опции темы

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