Форум программистов, компьютерный форум CyberForum.ru

Передача двумерного массива в функцию - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
13.12.2009, 21:19     Передача двумерного массива в функцию #1
Возможно это уже и естьна форуме, но как передать из одной функции в другую двумерный массив? (статическое распределение адресов)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2009, 21:19     Передача двумерного массива в функцию
Посмотрите здесь:

Передача двумерного массива в функцию C++
Передача двумерного массива в функцию. C++
Передача двумерного массива в функцию C++
Передача двумерного массива в функцию C++
C++ Передача двумерного массива в функцию
C++ Передача двумерного массива в функцию
Передача двумерного массива в функцию C++
C++ Передача двумерного массива в функцию
Передача двумерного массива в функцию C++
Передача двумерного массива в функцию C++
C++ Передача двумерного массива в функцию
C++ Передача в функцию двумерного массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
13.12.2009, 22:11     Передача двумерного массива в функцию #2
Передать два размера массива и указатель:
int width;
int height;
int **data;
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
13.12.2009, 23:02  [ТС]     Передача двумерного массива в функцию #3
Цитата Сообщение от odip Посмотреть сообщение
Передать два размера массива и указатель:
int width;
int height;
int **data;
спасибо, но мне нужен не этот способ...
я делал, но точно не помню как:

вот в main() у меня объявлен массив

int a[10][10];

мы знаем, что a - указатель на [0][0] элемент массива...
его то мы и передаем...а вот что писать в приеме?

Добавлено через 42 минуты
Вспомнил способ сам.
Выглядит так:

C
1
2
3
4
5
6
7
8
9
10
11
void vvod (int [10][10]);
 
void vvod(int a[10][10])
{
 
}
 
void main()
{
vvod(a);
}
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,314
13.12.2009, 23:12     Передача двумерного массива в функцию #4
Это грабли, которые ты сам себе заботливо подкладываешь в проект. И ты рискуешь огрести кучу проблем на ровном месте.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void vvod (int [10][10]);
 
void vvod(int a[10][10])
{
  // здесь чего-то делаем....
}
 
//----------------------
 
int aaa[10][10];
 
// в другом модуле программы:
int bbb[2][10];
 
 
//--------------------- 
int main()
{
vvod(aaa);    // все отработает нормально
 
// в совершенно другом месте, может быть, даже в другом модуле
vvod(bbb);    // здесь скорее всего будет большой бабах!
 
}
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
13.12.2009, 23:25  [ТС]     Передача двумерного массива в функцию #5
Цитата Сообщение от CheshireCat Посмотреть сообщение
Это грабли, которые ты сам себе заботливо подкладываешь в проект. И ты рискуешь огрести кучу проблем на ровном месте.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void vvod (int [10][10]);
 
void vvod(int a[10][10])
{
  // здесь чего-то делаем....
}
 
//----------------------
 
int aaa[10][10];
 
// в другом модуле программы:
int bbb[2][10];
 
 
//--------------------- 
int main()
{
vvod(aaa);    // все отработает нормально
 
// в совершенно другом месте, может быть, даже в другом модуле
vvod(bbb);    // здесь скорее всего будет большой бабах!
 
}
В вашем случае до бабаха дойти не получиться - ошибки полезут раньше)
мой метод возможен только в одном случае - оба (и aaa и bbb объявлены в одной функции и передаются из этой же функции)...
Yandex
Объявления
13.12.2009, 23:25     Передача двумерного массива в функцию
Ответ Создать тему
Опции темы

Текущее время: 23:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru