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

Напечатать двухмерный массив через функцию

17.08.2013, 16:02. Просмотров 402. Ответов 3
Метки нет (Все метки)

Ошибка \main.cpp|26|error: cannot convert 'int (*)[5]' to 'int**' for argument '1' to 'void print(int**, int, int)'|

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
#include <iostream>
 
 
using namespace std;
 
void print(int **mas, int w, int h) {
    for (int i = 0; i < h; i++ ) {
        for (int j = 0; j < w; j++)
            cout << mas[i][j] << ' ';
 
        cout << endl;
    }
}
 
 
int main() {
 
    int mas[3][5] = {
        {10, 11, 12, 13, 14},
        {20, 21, 22, 23, 24},
        {30, 31, 32, 33, 34},
    };
 
    print(mas, 5, 3);
 
    cin.get();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2013, 16:02
Ответы с готовыми решениями:

Напечатать двухмерный массив в виде спирали
Напечатать двухмерный массив n-ого размера в виде спирали: 1 2 3 8 9 4 7 6 5

Задан одномерный массив из 16 элементов .Сформировать двухмерный массив 4×4, используя функцию преобразования любого
Здравствуйте. Помогите написать программу: Задан одномерный массив из 16 элементов. Сформировать...

Передать двухмерный массив в функцию
Допустим, у меня есть двухмерный массив символов char level = { &quot; &quot;, &quot; ...

Как передать двухмерный массив в функцию?
Подскажите пожалуйста, как в функцию передать двухмерный массив? Пробовал так: void FuncArr(int**...

Как в функцию передать параметр - двухмерный массив
void max_el() { int i,j,max; for ( i=1 ; i&lt;=n; i++) for ( j=1; j&lt;=m; j++) ...

3
stragger
40 / 40 / 5
Регистрация: 05.12.2011
Сообщений: 343
17.08.2013, 16:15 2
ну если конкретно для этого случая
C
1
void print(int mas[][5], int w, int h)
А чтобы работать с
C
1
void print(int **mas, int w, int h)
выделение памяти под массив должно происходить динамически
1
OhMyGodSoLong
~ Эврика! ~
1247 / 996 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
17.08.2013, 16:15 3
Очень мало языков поддерживают настоящие многомерные массивы. Deal with it.
C++
1
2
3
4
5
6
7
8
void print(int *mas, int w, int h) {
    for (int i = 0; i < h; i++ ) {
        for (int j = 0; j < w; j++)
            cout << mas[i * w + j] << ' ';
 
        cout << endl;
    }
}
1
no_wearines
53 / 49 / 21
Регистрация: 01.01.2012
Сообщений: 343
17.08.2013, 17:25 4
Цитата Сообщение от regger Посмотреть сообщение
Ошибка \main.cpp|26|error: cannot convert 'int (*)[5]' to 'int**' for argument '1' to 'void print(int**, int, int)'|
Вы используете двойную косвенную адресацию. Стандартные массивы (стековые) не так организованы. Для правильной работы:

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
#include <iostream>
#include <conio.h>
using namespace std;
 
void print(int (*mas)[5], int w, int h) {
    for (int i = 0; i < w; i++ ) {
        for (int j = 0; j < h; j++)
            cout << (*(mas + i))[j] << ' ';
 
        cout << endl;
    }
}
 
void main() {
 
    int mas[3][5] = {
        {10, 11, 12, 13, 14},
        {20, 21, 22, 23, 24},
        {30, 31, 32, 33, 34},
    };
 
    print(mas, 3, 5);
 
getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2013, 17:25

Как передать двухмерный массив в функцию по ссылке?
Преподаватель в универе просит написать функцию вида void st3(&amp;array, &amp;n, &amp;m). Бьюсь головой об...

Как передать в функцию двухмерный динамический массив по ссылке?
как передать в функцию двухмерный динамический массив по ссылке?

Передать в функцию динамический двухмерный массив с динамическими размерами
Как передать динамический двухмерный массив с динамическими размерами? #include &lt;iostream&gt; ...


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

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

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