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

Массив с случайным размером

29.08.2019, 14:24. Показов 1171. Ответов 3
Метки нет (Все метки)

Подскажите пожалуйста создаю массив с неизвестным размером, потом в конструкторе инициализирую его размер случайным числом, что здесь не правильно и как сделать правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
class DoubleSubscriptedArray
 
{
public: 
DoubleSubscriptedArray();
int s [];
};
 
DoubleSubscriptedArray::
{
 
srand( time( 0 ) );
int t = 1 + rand() % 10;
s [t] = {0};           
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2019, 14:24
Ответы с готовыми решениями:

Дан двумерный массив размером nxm, заполненный случайным образом
23. Дан двумерный массив размером nхm, заполненный случайным образом. Определить, есть ли в данном...

Дан двумерный массив размером 5х6, заполненный случайным образом
Дан двумерный массив размером 5х6, заполненный случайным образом. Заменить максимальный элемент...

Разработать приложение, рисующее на экране круги со случайным расположением центра, случайным размером радиуса
Разработать приложение, рисующее на экране круги со случайным расположением центра, случайным...

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

3
913 / 591 / 291
Регистрация: 22.02.2018
Сообщений: 1,743
Записей в блоге: 2
29.08.2019, 14:30 2
Лучший ответ Сообщение было отмечено mlippi80 как решение

Решение

Мне кажется, что по стандарту С++ надо так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
class DoubleSubscriptedArray
 
{
public: 
DoubleSubscriptedArray();
int *s;
};
 
DoubleSubscriptedArray::
{
 
srand( time( 0 ) );
int t = 1 + rand() % 10;
  s = new int[t];           
}
Ну и в деструкторе не забыть грохнуть
C++
1
delete [] s;
2
277 / 154 / 52
Регистрация: 30.06.2011
Сообщений: 1,703
29.08.2019, 14:32 3
Цитата Сообщение от mlippi80 Посмотреть сообщение
что здесь не правильно
Все неправильно.

Цитата Сообщение от mlippi80 Посмотреть сообщение
как сделать правильно?
1. Создать указатель.
2. В конструкторе выделить память.
3. В деструкторе освободить память.
1
2718 / 1883 / 558
Регистрация: 05.06.2014
Сообщений: 5,489
29.08.2019, 15:32 4
Цитата Сообщение от mlippi80 Посмотреть сообщение
Подскажите пожалуйста создаю массив с неизвестным размером, потом в конструкторе инициализирую его размер случайным числом, что здесь не правильно и как сделать правильно?
У вас в коде flexible array member. Во-первых, память под него надо родить еще до вызова конструктора. Во-вторых, в стандарте плюсов этого нету.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class DoubleSubscriptedArray
 
{
public: 
DoubleSubscriptedArray();
int s [];
};
int main()
{
    //рожаем память под DoubleSubscriptedArray и 1234 элемента массива
    DoubleSubscriptedArray*array=malloc(sizeof(DoubleSubscriptedArray)+sizeof(int)*1234);
    new (array) DoubleSubscriptedArray;//а вот теперь можно и конструктор вызвать
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2019, 15:32

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками,...

Разработать программу, которая формирует случайным образом вещественную матрицу размером n x m
Помогите пожалуйста!!! С++Builder. Разработать программу, которая формирует случайным образом...

Скопировать элементы 2-х массивов, размером 5 элементов каждый, в один массив размером 10 элементов
2.**Написать программу, копирующую элементы 2-х массивов размером 5 элементов каждый в один массив...

Массив: Случайным образом заполнить двумерный массив размерностью 3х4 цифрами от -20 до 10
Помогите пожалуйста с задачей Написать программу, которая случайным образом заполняет двумерный...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.