Форум программистов, компьютерный форум, киберфорум
Наши страницы

Передача в поток многомерных массивов по указателю - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при обращении к классу http://www.cyberforum.ru/cpp-beginners/thread1816651.html
Есть класс для хранения элементов, к которым должен быть доступ из других классов - решил объявить как глобальный: Items.h: class Items { public: Item potion;//...etc Items() : ...
C++ передача функции указателей Сап, помогите пожалуйста разобраться с передачей указателей функции. Нужно для матрицы A (4×5) определить количество строк, сумма элементов которых положительна, нужно сделать через функции void. И... http://www.cyberforum.ru/cpp-beginners/thread1816644.html
Составить алгоритм подсчитывающий количество недель - C++ C++
количеству с n дней соответствует линейная таблица элементов, в рабочий день обозначено - 1, а нерабочий - 0. Составить алгоритм который считает: а) количество недель в месяце Примечание: Неделей...
Игра в закрашивание клеток C++
Двое ребят на клетчатом листе бумаги N × M клеток играют в такую игру: они по очереди закрашивают клетки (изначально все клетки не закрашены). За ход разрешается закрасить 1, 2, 3 или 10 любых ещё не...
C++ Класс С++ ошибка http://www.cyberforum.ru/cpp-beginners/thread1816618.html
Помогите устранить ошибку Может проблемы в переменных ( такие же переменные я использовал в другом классе) Еще думаю что проблема в пространстве имен Надеюсь поможете и объясните
C++ Вычислить значение выражения совершенно не знакома с C++ но дали задание написать код, помогите пожалуйста.... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
30.09.2016, 22:50
Kapex, вот интересная ещё инфа
Передача двумерного массива в функцию. Ошибка "invalid types for array subscript"
Штука в том, что массив C++ внутренне всегда одномерен. То есть, индексы можно пересчитывать, а указатель кастить. Вот вариант - вырви-глаз:
Кликните здесь для просмотра всего текста
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
#include <iostream>
using namespace std;
template<class T, size_t m, size_t n>
void print_2D_arr(T (*arr)[n])
{
for(size_t i = 0; i < m ; ++i)
{
for(size_t j = 0; j < n ; ++j)
cout<<arr[i][j]<<' ';
cout<<endl;
}
}
 
int main(int argc, char* argv[])
{
int a[2][3]={{1,2,3},{4,5,6}};
double b[2][3]={{1.23,2.34,3.45},{4.56,5.67,6.78}};
print_2D_arr<int, 2, 3>(a);
cout<<endl;
print_2D_arr<double, 2, 3>(b);
cout<<endl;
system("pause");
return 0;
}

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