|
6 / 4 / 2
Регистрация: 22.11.2018
Сообщений: 83
|
||||||
Как можно использовать двумерный динамический массив в си++ через функцию26.05.2019, 01:33. Показов 1332. Ответов 16
Метки нет (Все метки)
Коротко говоря мне бы осознание синтаксиса чтоб я понимал.
Вот есть двумерный динамический массив (также можно написать мне код на трёх мерный динамический массив буду благодарен но это не обязательно ) я хочу его использовать в (конструкторах но возможно оно не так называется потому что я не знаю) (Функция вроде). Вопрос 1: Как вызывать через функцию тот массив который мне нужен а не всё время первый. Вопрос 2: Как обозначить его что именно из 10 массивов мне нужен 7 (а не 5 или 10) его как прописать. Вопрос 3: Не хочу постоянно писать код, повторяя его, просто хочу вставил массив в функцию и всё. Надо отсортировать вставил в функцию сортировки мне выдало ответ, и так же проводить другие манипуляции, как не пытаюсь записать не получается. Вопрос 4: Я выбрал самые такие наверно распространённые случаи если у вас есть ещё подскажите и объясните. код просто как пример (он не работает и мысль в нём чтоб разобраться)
0
|
||||||
| 26.05.2019, 01:33 | |
|
Ответы с готовыми решениями:
16
Как передать в функцию двумерный динамический массив?
|
|
Just Do It!
|
|
| 26.05.2019, 06:22 | |
|
1
|
|
|
Комп_Оратор)
|
|||||
| 26.05.2019, 10:26 | |||||
|
Ваш вопрос можно обобщить в виде:
---- Я бы предложил воспользоваться vector<vector<T>>. Эта структура может быть любой, в разумных пределах, вложенности. Она сама выделяет и освобождает память, знает размеры своих измерений, имеет поддержку со стороны классов vector, vector::iterator (и пр.) и библиотеки алгоритмов. А вот функции нужно обеспечить доступ к контексту в котором лежит информация о участке с которым ей предстоит поработать. Можно создать целый тип в котором объект содержит описание такого контекста. Можно даже, создать тип, который содержит такой вектор векторов и набор функций для работы с ним.
1
|
|||||
|
6 / 4 / 2
Регистрация: 22.11.2018
Сообщений: 83
|
|
| 26.05.2019, 16:20 [ТС] | |
|
IGPIGP, Сразу видно у вас большой опыт.
Это наверно самое верное описание моего вопроса. "Как мне создать такую штуковину, чтобы в ней разместить любую штуковину? И чтобы в функцию можно было передать контекст из которого ясно какую из штуковин в штуковине я имею в виду."
0
|
|
|
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
|
||||||
| 26.05.2019, 16:30 | ||||||
1
|
||||||
|
Комп_Оратор)
|
||
| 26.05.2019, 17:33 | ||
|
_Cheshire Cat_, типы для того и созданы, чтобы было легко, весело и безопасно. Поэтому, возникает вопрос: "Зачем вам это нужно?"
1
|
||
|
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
|
|
| 26.05.2019, 17:57 | |
|
0
|
|
|
Комп_Оратор)
|
||
| 26.05.2019, 18:43 | ||
1
|
||
|
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
|
||
| 26.05.2019, 22:03 | ||
|
Вообще мое сообщение было как сарказм!!!
1
|
||
|
6 / 4 / 2
Регистрация: 22.11.2018
Сообщений: 83
|
|
| 26.05.2019, 23:42 [ТС] | |
|
IGPIGP, Зачем мне это нужно.
Ну чтоб постоянно не писать что я создаю массив 1 с названием arr[][] два цикла и заполнение потом пишу второй такой же цикл ну уже arr1[][] и снова два цикла . А так создал функцию написал два цикла и она создаёт нужное количество массивов скажем 5 пустых массивов. Вызвал функцию заполнения выбрал скажем 3 из них остальные не пригодились. Вызвал функцию которая выводит их на экран. потом вызвал функцию которая сравнит 1 и 2 массив. и функция которая запишет это в 4 . потом вызвал которая сравнит 1 и 3 массив. и запишет это в 5 . потом снова вызвал функцию которая сравнит 4 и 5 и выведет на экран. Но зачем мне это нужно чтоб не писать всё это в ручную и облегчить себе жизнь и задания в будущем. Конкретного задания у меня нет чтоб показать более детально могу только так на пальцах объяснить.
0
|
|
|
Комп_Оратор)
|
||||
| 27.05.2019, 00:03 | ||||
|
А где предел? 3,5, 10 измерений? Сколько? И надо же передавать размер по каждому измерению. И ещё пригоршню индексов для обращения к заданному элементу. Есть, шаблон с размером времени компиляции std::array но тут те же константы времени компиляции, но поддержка шире чем у с-массива (у которого кроме операции индексации ничего больше, по сути и нет). Глядя на него имеет смысл задуматься, почему бородатые дядьки из комитета не создали чего-то волшебного. Как говорил проф. Преображенский: -"Двум богам служить нельзя." Статическая типизация и типы определяемые во время выполнения (если это не контейнерные структуры), - две вещи несовместные.Добавлено через 4 минуты
0
|
||||
|
6 / 4 / 2
Регистрация: 22.11.2018
Сообщений: 83
|
||||||
| 27.05.2019, 00:13 [ТС] | ||||||
|
IGPIGP, Ну что я постараюсь что то придумать.
Тапками в меня не кидать он не работает так как я это только что придумал как пример. (НЕСЁТ ТОЛЬКО ПОКАЗАТЕЛЬНЫЙ СМЫСЛ)
0
|
||||||
|
Комп_Оратор)
|
|||||||
| 27.05.2019, 00:34 | |||||||
|
_Cheshire Cat_, святое дело. есди количество измерений известно на момент компиляции. То что вы показываете - реализация размера по каждому из уже известных измерений (а именно, из 2 шт.), но что если измерений не 2 как вы написали вверху топика:
Причём, для общности, каждое измерение может иметь уникальный размер. Вот помесь дикого с-массивчика с одомашненным шаблоном С++ (схема и мишень для тапок, как вы говорите) :
0
|
|||||||
|
6 / 4 / 2
Регистрация: 22.11.2018
Сообщений: 83
|
||||||
| 27.05.2019, 00:59 [ТС] | ||||||
|
IGPIGP, Ой тут мне Коментарии нужны так как с классами очень поверхностно знаком ладно. Тогда последний вопрос не по теме.
0
|
||||||
|
Комп_Оратор)
|
||||||||
| 27.05.2019, 01:13 | ||||||||
0
|
||||||||
|
Комп_Оратор)
|
||
| 28.05.2019, 02:26 | ||
|
Но вы же хотели многомерные массивы. Можно понаписать перегрузок до, скажем, десятка измерений, но это достаточно грубо. А представляете как радостно передавать указатель с шестью звёздами и шесть измерений в вариант перегруженный как: template<class T> void printArray(T****** arr, size_t dim0, size_t dim1, size_t dim2, size_t dim3, size_t dim4, size_t dim5); ? Лучше уж пользоваться чем-то вроде vector<vector<...<vector<T>...> vec_n_dim;. А для учёбы - писать конкретные функции под актуальный для задачи случай.
0
|
||
| 28.05.2019, 02:26 | |
|
Помогаю со студенческими работами здесь
17
Можно ли использовать данные из DGV как двумерный массив Динамический двумерный массив в функцию. Передать двумерный динамический массив в функцию
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|