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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.81
pgspb
Сообщений: n/a
#1

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

04.02.2009, 04:06. Просмотров 3960. Ответов 4
Метки нет (Все метки)

Как в с передается в функцию многомерный массив, чья размерность
определеяется "по ходу дела". Вариант в фортране:

...
call f(m,n,x)
....
subroutine f(m,n,x)
integer m,n
real x(m,n)
x(i,j) = ...
...

А как это сделать в С++, не использую монстров типа:

...
f(m,n,&x[0][0])
....
f(int m, int n, double *x)
...
x[i*n+m]=...
...

Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2009, 04:06     Передача многомерного массива переменного размера в функцию
Посмотрите здесь:

C++ передача массива в функцию
C++ Массив переменного размера
Передача массива в функцию C++
Передача массива в функцию C++
Передача массива в функцию C++
Создание 2d массива определённого размера через функцию C++
Передача массива в функцию C++
Передача в параметр многомерного массива произвольного размера C++
C++ Передача в функцию многомерного массива
C++ Передача переменного кол-ва аргументов
Обьявление массива переменного размера C++
Передача массива в функцию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
04.02.2009, 06:09     Передача многомерного массива переменного размера в функцию #2
v(int n,int m,double **x){
x[i][j]=...
pgspb
Сообщений: n/a
04.02.2009, 07:13     Передача многомерного массива переменного размера в функцию #3
К сожалению, не проходит
rrrFer
Заблокирован
04.02.2009, 08:47     Передача многомерного массива переменного размера в функцию #4
Цитата Сообщение от pgspb Посмотреть сообщение
К сожалению, не проходит
Код
void out(int **a,int n, int m){
	for(int i=0,j;i<n;i++)
		for(j=0,cout<<endl;j<m;j++)
			cout<<a[i][j]<<" ";
}
void main(){
	int **a,n,m;
	cin>>n>>m;
	a=new int *[n];
	for(int i=0,j;i<n;i++)
		for(j=0,a[i]=new int[m];j<m;j++)
			a[i][j]=i*n+j;//например заполним так
	out(a,n,m);
	cin.get(),cin.get();
}
pgspb
Сообщений: n/a
04.02.2009, 18:50     Передача многомерного массива переменного размера в функцию #5
Отлично, так работает! Спасибо огромное!
Yandex
Объявления
04.02.2009, 18:50     Передача многомерного массива переменного размера в функцию
Ответ Создать тему
Опции темы

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