/*
Trabalhando com Array e Matriz passandos por referência
*/
void soma_array(byte array1[], byte array2[], byte array3[]);
void print_array(byte vetor[], byte n);
template<size_t linhas, size_t colunas>
void print_matriz(int (&matriz)[linhas][colunas]);
void setup() {
Serial.begin(115200);
byte Array1[2], Array2[2], Array3[2];
int Matriz1[2][2] = {{1, 2},{3, 4}};
int Matriz2[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};
Array1[0] = 1;
Array1[1] = 1;
Array2[0] = 2;
Array2[1] = 2;
soma_array(Array1, Array2, Array3);
print_array(Array3, sizeof(Array3));
print_matriz(Matriz1);
print_matriz(Matriz2);
}
void loop() {
}
//Soma array
void soma_array(byte array1[], byte array2[], byte array3[]){
for(int i=0; i<2; i++){
array3[i] = array1[i] + array2[i];
}
Serial.println(" ");
}
//Imprime array
void print_array(byte vetor[], byte n){
for(byte i=0; i<n; i++){
Serial.print(vetor[i], DEC);
Serial.print(" ");
}
Serial.println(" ");
}
//Imprime matriz
template<size_t linhas, size_t colunas>
void print_matriz(int (&matriz)[linhas][colunas]){
for(int x=0; x<linhas; x++){
for(int y=0; y<colunas; y++){
Serial.print(matriz[x][y]);
Serial.print(" ");
}
Serial.println(" ");
}
Serial.println(" ");
}