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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Использование bind2nd http://www.cyberforum.ru/cpp-beginners/thread1214760.html
Доброй ночи! Помогите, пожалуйста, разобраться с биндерами. #include <iostream> #include <algorithm> #include <iterator> #include <functional> #include <vector> #include <cstdlib> #include <ctime> using namespace std;
C++ Тетрис на mvc Здрасти евриван) Как Вы? Все у Вас в порядке?) Думаю да) А я опять к Вам со своими проблемами( Наверное уже достал Вас хи-хи) Ладно, сразу к теме Итак, хочу реализовать Тетрис. Когда-то давно я его писал, и в принципе все меня устраивало, пока не прочитал про рефакторинг, паттерны, каркасы и тд. Я понял, что код мой - это ужас!) Решил заняться плотно каркасом MVC и реализовал несколько... http://www.cyberforum.ru/cpp-beginners/thread1214709.html
C++ Найти минимальное в произведении чисел
Ребята помогите, т. к. что то не пойму! Нужно найти минимальное в произведении чисел!!!! # include <iostream> # include <ctime> using namespace std; void main () { const int N=16; int mas ; int sum=0, min=0;
C++ Отсортировать по убыванию положительные элементы массива методом обмена
Отсортировать по убыванию положительные элементы массива методом обмена
C++ Ребята пожалуйста , переписать с С++ на Си ! ! Спасибо! http://www.cyberforum.ru/cpp-beginners/thread1214697.html
#include <fstream> #include <bitset> #include <sstream> #include <sys/time.h> #include <string> #include <iostream> #include <stdlib.h> using namespace std;
C++ Почему не могу заполнить массив символом ? Ест char массив. Не могу заполнить все значения массива звездочкой. * int main() { char val='*'; char q ='q'; const int s=3; char arr; int k=0; int i=0; подробнее

Показать сообщение отдельно
Negent
 Аватар для Negent
9 / 9 / 1
Регистрация: 01.11.2011
Сообщений: 21
23.06.2014, 00:31     Передача двумерного массива в функцию
Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка.
Вот код:
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
#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;
        }
    }
}
Хотя бы дайте общие понятия по логике передачи адреса двух- и более мерного массива в функцию, а дальше, я сам попробую написать =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru