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

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

Войти
Регистрация
Восстановить пароль
 
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
#1

Как передать такой массив в функцию - C++

23.05.2011, 17:23. Просмотров 880. Ответов 6
Метки нет (Все метки)

Есть большой массив память для которого выделяеться динамически

C++
1
2
3
4
5
    double *****massiv_resultatov = new double****[25];
    for(i = 0; i < 25; i++) massiv_resultatov[i] = new double***[15];
    for(i = 0; i < 25; i++) for(j = 0; j < 15; j++) massiv_resultatov[i][j] = new double**[15];
    for(i = 0; i < 25; i++) for(j = 0; j < 15; j++) for(k = 0; k < 15; k++) massiv_resultatov[i][j][k] = new double*[170];
    for(i = 0; i < 25; i++) for(j = 0; j < 15; j++) for(k = 0; k < 15; k++) for(g = 0; g < 170; g++)massiv_resultatov[i][j][k][g] = new double[3];
как его передать в функцию когда нужны только два последних раздела массива

то есть если масиив был обычный то это выглядело бы так

C++
1
2
3
4
double massiv_resultatov[25][15][15][170][3]={0};//инициализация массива
void function(double mass_result[170][3]){}//тело функции
void function(double[170][3]){}//прототип функции
function(massiv_resultatov[i][j][d]);//вызов функции
в моем случае если оставить все как есть ругаеться невозможно преобразовать параметр 1 из 'double **' в 'double [][3]'

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

Не могу разобраться как передать корректно передать массив из функции в функцию - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив? - C++
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

Как передать массив в функцию? - C++
передайте, пожалуйста, массив у функцию #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using...

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

Как передать массив в функцию? - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int func(float arrcos, float arrsin) { int f=5000; int...

Как передать массив в функцию? - C++
Добрый вечер! Задание следующие: Реализовать функцию, которая сдвигает содержимое массива влево на заданное число позиций (циклический...

6
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
23.05.2011, 17:26 #2
либо передать указатель на массив,
либо передать конкретно те значения, которые будут использоваться функцией
0
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
23.05.2011, 17:26  [ТС] #3
yekka,
можно пример в коде что писать ?
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
23.05.2011, 17:27 #4
передай так
C++
1
void function(double *****mass_result){}
внутри функции разберёшься чё тебе там нужно
1
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
23.05.2011, 17:30  [ТС] #5
pito211
ну это передаеться весь массив а часть массива можно передать ?
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
23.05.2011, 17:49 #6
C++
1
void function(double **mass_result){}
вызывать
C++
1
function(double ***massiv_resultatov){}
Добавлено через 5 минут
это она с двумя последними измерениями работать будет, я так понял тебе это ведь надо?
1
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
23.05.2011, 19:33  [ТС] #7
pito211,
неработает, массив имеет значения -1.#IND

делал так

C++
1
2
3
void function(double **mass_result){} //тело функции
void function(double**);//прототип функции
function(***massiv_resultatov);//вызов функции
что не так ? может с прототипом напутал ?

Добавлено через 30 минут
pito211,
да и при вызове непонятно вообще какая часть массива передаеться в функцию

если бы массив был обычным то вызов был вот такой
C++
1
function(massiv_resultatov[i][j][d]);
то есть переменный i j d явно указыват какую часть массива передавать в фунцию
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2011, 19:33
Привет! Вот еще темы с ответами:

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

Как передать массив в функцию? - C++
Вот код #include&lt;iostream&gt; #include&lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;iomanip&gt; using namespace std; int F(int a,int* nn){ ...

Как передать одномерный массив в функцию? - C++
как передать одномерный массив в функцию?

Как правильно передать массив в функцию? - C++
Возникла такая загвоздка: написал три функции для работы с массивом. Вроде всё компилирует, кроме вызова этих функций, а конкретнее при...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
23.05.2011, 19:33
Ответ Создать тему
Опции темы

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