Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
vicyezh
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 5
#1

Передача двумерного динамического массива в функцию в качестве параметра

15.12.2015, 20:15. Просмотров 964. Ответов 4
Метки нет (Все метки)

Вообщем надо сложить и умножить две матрицы, но сделать это в отдельных функциях. Матрицы заданы динамическими массивами размерами n*m и k*l соответственно. Как передать эти массивы в функцию? Механизмы работы сложения и умножения матриц не надо расписывать, это я умею) А вот как передать динамический массив в функцию, увы, не знаю.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2015, 20:15
Ответы с готовыми решениями:

Передача двумерного массива указателей на char в качестве параметра функции
Есть массив char *result2; Нужно передать его в функцию void defDouble(???) ...

Передача массива в функцию в качестве параметра
Всем привет! Файл с реализацией: int Init_can::Send(int* msgdata) {...

Передача двумерного динамического массива в функцию
Как можно передать динамическую матрицу в функцию что бы при выходе из функции...

Передача динамического двумерного массива в функцию
Я сделал вот так: void PrintMatrix(int** matrix, int& n, int& m) { for...

Передача двумерного динамического массива в функцию(объяснение)
Когда мы хотим передать двумерный динамический массив в функцию через указатели...

4
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
15.12.2015, 20:23 #2
Если память под указатель на указатель выделял, то его и передавай. И размерность передай.
0
vicyezh
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 5
15.12.2015, 20:25  [ТС] #3
А если выделял?
C++
1
2
3
4
5
6
7
double **A = new double*[n];
    for (int i = 0; i < n; i++)
        A[i] = new double[m];//Создания динамического масива под первую матрицу
 
    double **B = new double*[k];
    for (int i = 0; i < n; i++)
        B[i] = new double[l];// Создание динамического масива под вторую матрицу
Вот таким вот образом?
0
nord_v
329 / 177 / 80
Регистрация: 22.08.2013
Сообщений: 724
15.12.2015, 20:35 #4
Лучший ответ Сообщение было отмечено vicyezh как решение

Решение

Если новый массив не будешь создавать и возвращать (не знаю, как умножение и сложение собираешься делать), то:
C++
1
2
void f(double** A, double** B, int n, int m, int k, int l)
{}
Вызов:
C++
1
f(A, B, n, m, k, l);
1
vicyezh
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 5
15.12.2015, 21:23  [ТС] #5
Спасибо, помогло
0
15.12.2015, 21:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2015, 21:23

Передача двумерного динамического массива чисел в функцию
void Map::setCell(int** block, Room* room, int type){ for(int i=room-&gt;x;...

Передача по ссылке двумерного динамического массива в функцию
Приведите, пожалуйста, пример. Нигде не могу найти.

Передача двумерного массива, как параметра в функцию
дан двумерный массив и его сортировка, я записал это все как комментарии...


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

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

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