|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Передача двумерного массива в функцию
Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка.
Вот код: Код cpp: Код:
#include "stdafx.h" #include <iostream> using namespace std; const int size1 = 3; const int size2 = 4; int arr[size1[size2 = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; * * void arr_fun (int arr[[size2, int size1); void main () { * * arr_fun (arr[[size2, size1); * * system ("pause"); } void arr_fun (int arr[[size2, size1) { * * for (int i=0; i<size1; i++) * * { * * * * for (int j=0; j<size2; j++) * * * * { * * cout<<"arr["<<i<<": "<<arr[i[j<<endl; * * * * } * * } } |
#2
|
|||
|
|||
У тебя что, символа ] на клавиатуре нету?
и откуда столько звёздочек? По сабжу Код:
void arr_fun (int **arr, int size2, int size1) { for (int i=0; i<size1; i++) { for (int j=0; j<size2; j++) { cout<<"arr["<<i<<"]["<< j <<"] = " <<arr[i][j]<<endl; } } } |