S
Shmaximus
Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка.
Вот код:
Код cpp:<!--shcode--><pre><code class='CODE'>#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;
}
}
}[/CODE] Хотя бы дайте общие понятия по логике передачи адреса двух- и более мерного массива в функцию, а дальше, я сам попробую написать =)
Вот код:
Код cpp:<!--shcode--><pre><code class='CODE'>#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;
}
}
}[/CODE] Хотя бы дайте общие понятия по логике передачи адреса двух- и более мерного массива в функцию, а дальше, я сам попробую написать =)