Название: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 17:52 Ребят ,нужно создать динамический двумерный массив(резиновый) и доступ осуществлять через mas[] [] проблема в том что не знаю размера массива и он заполняется в процессе работы. Как создать такое чудо,пробовал через qvector<qvector<int>> a; и обращался как а[0][0]=1 выкидывает аборт
Название: Re: Двумерный динамический массив Отправлено: gil9red от Октябрь 07, 2014, 18:05 используйте std::vector или аналогичный, или высчитывайте размер массива, пример:
Код
Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 18:06 Но я размера вообще не знаю
Название: Re: Двумерный динамический массив Отправлено: __Heaven__ от Октябрь 07, 2014, 18:34 Код
Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 18:36 Код
Название: Re: Двумерный динамический массив Отправлено: __Heaven__ от Октябрь 07, 2014, 18:48 вы же в этом коде задаете размер массива ? 10 на 20 наврал Код
Название: Re: Двумерный динамический массив Отправлено: m_ax от Октябрь 07, 2014, 18:51 Напишите обёртку над вектором, где определите свой оператор (i, j), который при необходимости будет менять размер массива..
Или лучше стоит сделать шаг назад и лучше продумать саму архитектуру? Название: Re: Двумерный динамический массив Отправлено: Old от Октябрь 07, 2014, 18:56 Или лучше стоит сделать шаг назад и лучше продумать саму архитектуру? Ой накликаете сейчас... всуе используя такие слова как "архитектура". ;)Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 19:01 мне нужно объявить начальное условие в этом массиве напримет mas[0][0]=0 и дальше дописывать mas[0][1]=5...и так далее,позволяют такие вольности Qmap qvector но как сделать что бы обращение было mas[5][5]=0 я не знаю и оберки писать не умею,нуб еще
Название: Re: Двумерный динамический массив Отправлено: m_ax от Октябрь 07, 2014, 19:03 Или лучше стоит сделать шаг назад и лучше продумать саму архитектуру? Ой накликаете сейчас... всуе используя такие слова как "архитектура". ;)Название: Re: Двумерный динамический массив Отправлено: __Heaven__ от Октябрь 07, 2014, 19:06 Код
Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 19:09 а если мне не нужны лишнии записи там? потом нужно будет провести сортировку в каждой строке и подсчитать их количество?
Название: Re: Двумерный динамический массив Отправлено: __Heaven__ от Октябрь 07, 2014, 19:09 Вот вам и с двумя QVector
Код
Название: Re: Двумерный динамический массив Отправлено: __Heaven__ от Октябрь 07, 2014, 19:11 https://ru.wikipedia.org/wiki/Vector_(C%2B%2B) (https://ru.wikipedia.org/wiki/Vector_(C%2B%2B))
Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 19:17 wiki это классно,но все же как ?
Название: Re: Двумерный динамический массив Отправлено: m_ax от Октябрь 07, 2014, 19:34 Вот вам и с двумя QVector Код
Да не знает ТС заранее, какой у него размер массива.. Вот у вас он сейчас 10 на 20, а ему нужно поведение, аналогичное map'у.. Название: Re: Двумерный динамический массив Отправлено: m_ax от Октябрь 07, 2014, 19:44 Вот самый наивный способ, как добиться того, чего хочет ТС:
Код
Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 20:20 Сделал через Qmap<int,Qmap<int,int> > а и все работает обращаюсь как a[][]=0
Название: Re: Двумерный динамический массив Отправлено: GamBitiK от Октябрь 07, 2014, 20:22 спасибо большое всем
Название: Re: Двумерный динамический массив Отправлено: kambala от Октябрь 07, 2014, 21:44 чувствую преподаватель такую халтуру не одобрит :D
Название: Re: Двумерный динамический массив Отправлено: m_ax от Октябрь 07, 2014, 23:12 чувствую преподаватель такую халтуру не одобрит :D Ой, очень хотелось бы в это верить.. Но, лично у меня, не такой оптимистический прогноз..( Название: Re: Двумерный динамический массив Отправлено: kambala от Октябрь 07, 2014, 23:25 ТС: если возникают сложности с вектором векторов, можно и одномерным вектором реализовать. тогда элементу [i ][j] будет соответствовать элемент [i*n + j].
Название: Re: Двумерный динамический массив Отправлено: m_ax от Октябрь 07, 2014, 23:44 ТС: если возникают сложности с вектором векторов, можно и одномерным вектором реализовать. тогда элементу [i ][j] будет соответствовать элемент [i*n + j]. Я боюсь, что там возникнут уже другие сложности..Название: Re: Двумерный динамический массив Отправлено: Alexu007 от Октябрь 08, 2014, 05:46 Код
А в чём тут проблема и как в Qt правильно создать многомерный динамический массив? Название: Re: Двумерный динамический массив Отправлено: gil9red от Октябрь 08, 2014, 08:26 Код
А в чём тут проблема и как в Qt правильно создать многомерный динамический массив? QMap? И кидайте ругательства от компилятора, тут форум программистов, а не экстрасенсов :) Название: Re: Двумерный динамический массив Отправлено: Igors от Октябрь 08, 2014, 08:32 Код
А в чём тут проблема и как в Qt правильно создать многомерный динамический массив? Код Откуда возьмете numRow/numCol ? Если планируются интенсивные удаления/вставки то правильно "вектор векторов", а если нет то лучше через одномерный. Возможно придется повозиться с вставкой строк/столбов, но это только полезно - не привыкайте "пастись на готовом" |