|
0 / 0 / 0
Регистрация: 25.04.2019
Сообщений: 33
|
|
Передача в функцию двумерного массива с неизвестной размерностью14.02.2020, 17:52. Показов 4984. Ответов 8
Доброго времени суток, форумчане.
Сейчас работаю с графами, точнее с их матрицами. Захотел написать перевод из смежной в инцидентную. Но вот проблема: не знаю как передать двумерный массив в функцию. Есть различные способы, такие как:
И хотелось бы без бесполезной траты памяти(типа arr[255][255]). И именно с массивами, без векторов.
0
|
|
| 14.02.2020, 17:52 | |
|
Ответы с готовыми решениями:
8
Передача двумерного массива в функцию Передача двумерного массива в функцию |
|
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
|
|
| 14.02.2020, 18:09 | |
|
arr[][] - это массив с известной размерностью
С неизвестной размерностью это в любом случае либо *arr, либо **arr, так и передавайте. А если размерность все-таки известная, то arr[][SIZE], SIZE может быть константой или параметром шаблона
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2019
Сообщений: 33
|
|
| 14.02.2020, 19:18 [ТС] | |
|
elenayagubova, вот я объявил функцию с параметром arr[][size], где size = 255. Но теперь при передачи в функцию массив размером, к примеру, 5x5, компилятор выдает ошибку:
аргумент типа "int (*)[5U]" несовместим с параметром типа "int (*)[255]". Что делать?
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 14.02.2020, 19:24 | |
|
a_dude, кто мешает передать в функцию **arr и два размера?
Будет на все случаи жизни ![]() Добавлено через 1 минуту А если квадратная матрица, то достаточно одного размера
0
|
|
|
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
|
|||||||
| 14.02.2020, 19:43 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 25.04.2019
Сообщений: 33
|
||||||
| 14.02.2020, 22:22 [ТС] | ||||||
|
elenayagubova, выдает ошибку: error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl out_arr<5>(int (* const)[5],int)" (??$out_arr@$04@@YAXQAY04HH@Z).
Вот код:
Добавлено через 3 минуты liv, у меня дана матрица(к примеру). А так нужно будет ее создать(указатель). А просто так указатель к массиву же не "приравнять". Можно конечно и так, но хочу так попробовать написать(если уж не получится, то так сделаю)
0
|
||||||
|
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
|
||||||
| 14.02.2020, 22:38 | ||||||
Сообщение было отмечено a_dude как решение
Решение
1
|
||||||
|
0 / 0 / 0
Регистрация: 25.04.2019
Сообщений: 33
|
|
| 15.02.2020, 09:13 [ТС] | |
|
О, спасибо. Просто до этого ни разу не сталкивался с template.
Добавлено через 10 минут То есть всякий раз как мне нужно будет написать функцию с таким параметром, нужно писать перед ней template?
0
|
|
|
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
|
||
| 15.02.2020, 11:00 | ||
|
Т.е. при вызове функции для матрицы 5 на 5 будет создана функция fill_arr(int arr[][5]), для матрицы 8 на 8 fill_arr(int arr[][8]) и т.д. Все это происходит именно на этапе компиляции.
1
|
||
| 15.02.2020, 11:00 | |
|
Помогаю со студенческими работами здесь
9
Передача двумерного массива в функцию
Передача двумерного массива в функцию Передача двумерного массива в функцию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
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 полиномов. . .
|