У меня есть этот двумерный массив: array <array <int , 4> , 4> myarray
Как мне объявить это прямо в программе?
//I first include
#include <array>
тогда я его инициализирую
array<array<int,4>,4> myarray = {{
{1, 2, 3, 4},
{5, 6, 0, 8},
{9, 10, 11, 12},
{13, 14, 15, 7}
}};
Я объявляю свои функции:
void func1(array<array<int,4>,4> );
void func2();
void func3(int&, int&, array<array<int,4>,4>);
void func4(array<array<int,4>,4>);
void func5(array<array<int,4>,4>);
void func6(array<array<int,4>,4>);
написать основную функцию:
int main() {
func1(myarray);
func2();
func3(myarray);
func4(myarray);
func5(myarray);
func6(myarray);
return EXIT_SUCCESS;
}
Тогда я пишу функции
void func1(array<array<int,4>,4> myarray)
{//something
}
void func2();
{//something
}
void func3(int&, int&, array<array<int,4>,4> myarray);
{//something
}
void func4(array<array<int,4>,4> myarray);
{//something
}
void func5(array<array<int,4>,4> myarray);
{//something
}
void func6(array<array<int,4>,4> myarray);
{//something
}
Я где-то не прав?
Дело в том, что инициализированный массив: {1, 2, 3, 4}, {5, 6, 0, 8}, {9, 10, 11, 12}, {13, 14, 15, 7}
будет введен в первую функцию. Выводом первой функции будет другой массив 4x4, например {15, 14, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {2, 1, 4, 13}
. Этот другой массив будет помещен в качестве ввода во второй. Выход этой функции будет чем-то другим и т. Д., И т. Д ....
Проблема , которая у меня есть, состоит в том, что большинство функций выводятся в виде инициализированного массива.
Спасибо за помощь заранее.