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

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

Восстановить пароль Регистрация
 
DaletskiDenis
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 3
20.11.2014, 22:43     Передача двухмерного массива в функцию #1
Товарищи, помогите, пожалуйста, с таким вопросом:

Я хочу сделать функции ввода и вывода элементов двухмерного массива, да так, чтобы эти функции были универсальными и принимали аргументы в качестве параметров. Но в описании функции требуется указывать его размерность: void filling_array (arr[][размер2]);
Вопрос: как написать функцию, чтобы эти размеры задавались при вызове?

Заранее спасибо)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NUBAS
8 / 8 / 3
Регистрация: 28.10.2014
Сообщений: 151
20.11.2014, 22:45     Передача двухмерного массива в функцию #2
актуально
Fasterbru
5 / 5 / 2
Регистрация: 18.11.2014
Сообщений: 81
20.11.2014, 22:46     Передача двухмерного массива в функцию #3
void filling_array (&&arr,int a,int b);
DaletskiDenis
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 3
20.11.2014, 22:50  [ТС]     Передача двухмерного массива в функцию #4
Двойная ссылка? Интересно. Спасибо)
Fasterbru
5 / 5 / 2
Регистрация: 18.11.2014
Сообщений: 81
20.11.2014, 23:06     Передача двухмерного массива в функцию #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include "stdlib.h"
#include <iostream>
using namespace std;
void fun(int**, int, int);
int main()
{
    int n1,n2;
    cin >> n1 >> n2;
    int** a = (int**)malloc(n1*sizeof(int*));
    for (int i = 0; i < n2; i++)
    {
        a[i] = (int*)malloc(n2*sizeof(int));
    }
 
    for (int i = 0; i < n1; i++)
    {
        for (int j = 0; j < n2; j++)
        {
            a[i][j] = 0;
        }
    }
 
    fun(a, n1, n2);
 
    return 0;
}
 
void fun(int** a,int n1, int n2)
{
    for (int i = 0; i < n1; i++)
    {
        for (int j = 0; j < n2; j++)
        {
            cout << a[i][j];
        }
        cout << endl;
    }
}
DaletskiDenis
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 3
20.11.2014, 23:15  [ТС]     Передача двухмерного массива в функцию #6
Fasterbru, т.е. использовать статический массив - не вариант, как я понял, а двойной указатель работает только с динамическими массивами?
Fasterbru
5 / 5 / 2
Регистрация: 18.11.2014
Сообщений: 81
20.11.2014, 23:24     Передача двухмерного массива в функцию #7
C++
1
int n1 = 10, n2 = 12;
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2014, 23:30     Передача двухмерного массива в функцию
Еще ссылки по теме:

C++ Разработать функцию, позволяющую поменять местами две произвольные строки двухмерного массива
Передача двухмерного массива в функцию C++
Передача двухмерного массива в функцию C++

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

Или воспользуйтесь поиском по форуму:
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2787 / 1433 / 393
Регистрация: 18.10.2014
Сообщений: 2,637
20.11.2014, 23:30     Передача двухмерного массива в функцию #8
Цитата Сообщение от DaletskiDenis Посмотреть сообщение
Вопрос: как написать функцию, чтобы эти размеры задавались при вызове?
Было

Передача двумерного массива в функцию. Ошибка "invalid types for array subscript"
Yandex
Объявления
20.11.2014, 23:30     Передача двухмерного массива в функцию
Ответ Создать тему
Опции темы

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