Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

04.02.2009, 04:06. Просмотров 4003. Ответов 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]=...
...

Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2009, 04:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача многомерного массива переменного размера в функцию (C++):

Передача в параметр многомерного массива произвольного размера - C++
Пусть, например, имеется функция void Gauss(double **a, double *b, size_t n, double *x) { size_t i; size_t j; size_t k; ...

Передача в функцию многомерного массива - C++
Как передать в функцию многомерный массив, если неизвестна его размерность. С двумерным я делал это вот так: void SomeFunc(int *array,...

Передача массива структур в функцию не указывая размера массива - C++
Я читаю с командной строки файл в котором содержится массив структур. Есть библиотека с функцией в которую я прередаю файл и массив...

Обьявление массива переменного размера - C++
Всем привет. Я написал программу, которая считает обратную матрицу путем элементарных преобразований. В Def C++ она отлично работает с...

Массив переменного размера - C++
Как реализовать такую конструкцию? Имеется ввиду строчку int a, где k - какое-то значение? void __fastcall...

Передача массива в функцию используя указатель на функцию - C++
У меня имеется готовая программа без передачи функции в функцию указателем, мне нужно передать функцию ввода масива в функцию его обработки...

4
rrrFer
Заблокирован
04.02.2009, 06:09 #2
v(int n,int m,double **x){
x[i][j]=...
0
pgspb
0 / 0 / 0
Регистрация: 31.01.2009
Сообщений: 3
04.02.2009, 07:13 #3
К сожалению, не проходит
0
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();
}
0
pgspb
0 / 0 / 0
Регистрация: 31.01.2009
Сообщений: 3
04.02.2009, 18:50 #5
Отлично, так работает! Спасибо огромное!
0
04.02.2009, 18:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2009, 18:50
Привет! Вот еще темы с ответами:

Передача двухмерного массива из функцию в функцию - C++
Допустим у меня есть функция, в которой &quot;генерируется&quot; массив. Но нужно его передать в другую функцию, которая его выведет на экран. ...

Передача переменного кол-ва аргументов - C++
Доброго времени суток. Интересует вопрос, возможно ли передать множественные аргументы функции в другую, находящуюся в теле первой функции?...

Создание 2d массива определённого размера через функцию - C++
обьявляю в классе массив float *arary_2d; пытаюсь создать через void Matrix::set_array(int входяшие данные рамезра) { ...

Передача массива в функцию - C++
Почему мусор выводит? bool insert(int* mas, int n, int v) { int _n = n + 1; int* mas2 = new int; for (int i = 0; i &lt; n; ++i) ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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