ExtOk
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 3
|
|||||||||||
1 | |||||||||||
Передача двумерного массива в функцию08.01.2016, 08:57. Просмотров 1049. Ответов 8
Метки нет Все метки)
(
Есть двумерный массив и его необходимо вывести на экран, делать это придется часто, так что вывод массива доверяю отдельной функции. Получается вот такая конструкция:
0
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
08.01.2016, 08:57 |
Ответы с готовыми решениями:
8
Передача двумерного массива в функцию Передача в функцию двумерного массива Передача двумерного массива в функцию Передача двумерного массива в функцию
|
yrceus
83 / 83 / 80
Регистрация: 25.08.2013
Сообщений: 336
|
|||||||||||
08.01.2016, 10:17 | 3 | ||||||||||
В первой строке (определении)
0
|
Байт
![]() 20050 / 12671 / 2663
Регистрация: 24.12.2010
Сообщений: 26,387
|
||||||
08.01.2016, 11:18 | 4 | |||||
Можно и так
Да. Эта строчка намекает на то, что ТС должен разобраться с темой "Указатели" ![]() Добавлено через 4 минуты Совсем мелкое замечание. При таком коде все значения "слипнутся". В формате необходимо поставить хотя бы пробел.
2
|
yrceus
83 / 83 / 80
Регистрация: 25.08.2013
Сообщений: 336
|
|
08.01.2016, 11:42 | 5 |
Ага, а количество строк можно не указывать в определении, потому что по количеству столбцов компилятору и так ясно через какое количество элементов делать шаг для доступа к элементу. Спасиб, запомню)
0
|
ExtOk
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 3
|
||||||
08.01.2016, 16:16 [ТС] | 6 | |||||
Ясно т.е. функция должна воспринимать хотя бы одно из измерений массива.
А с этой строчкой произошла досадная опечатка)
И прошу прощения за создание похожей темы, просто искал в ветке си, а тема массивов чаще затрагивается в ветке c++
0
|
Catstail
Модератор
24165 / 12153 / 2179
Регистрация: 12.02.2012
Сообщений: 19,737
|
||||||||||||||||
08.01.2016, 16:54 | 7 | |||||||||||||||
![]() Решение
В С многомерные массивы реализованы довольно неудобно... В базовом C++ - тоже. И это не случайно. Ради эффективности отсутствует контроль индексов (и соотв. внутренние структуры). Массив - это просто кусок памяти. С одномерными массивами все более-менее. А вот с многомерными начинается головная боль. Особенно если массив динамический.
Лично я использую вот такой прием (разберем на примере двумерного динамического массива). Пишем функцию Index, которая берет на вход индексы i, j нужного элемента и длину строки m, а вычисляет смещение (адрес) элемента с индексами [i][j] относительно начала массива:
1
|
ExtOk
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 3
|
|
08.01.2016, 17:12 [ТС] | 8 |
Благодарю, ответили на почти моментально возникший вопрос.
0
|
easybudda
Модератор
![]() ![]() 10209 / 6108 / 1536
Регистрация: 25.07.2009
Сообщений: 11,610
|
||||||
08.01.2016, 18:00 | 9 | |||||
![]() Решение
Ну да, не Паскаль какой-нибудь...
![]()
0
|
08.01.2016, 18:00 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
08.01.2016, 18:00 |
Передача статического двумерного массива в функцию Передача двумерного массива в функцию по указателю
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |