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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
#1

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

13.12.2009, 21:19. Просмотров 3109. Ответов 4
Метки нет (Все метки)

Возможно это уже и естьна форуме, но как передать из одной функции в другую двумерный массив? (статическое распределение адресов)
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
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
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
Эксперт С++
2891 / 1240 / 78
Регистрация: 27.05.2008
Сообщений: 3,328
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     Передача двумерного массива в функцию
Ответ Создать тему
Опции темы

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