Flat

Permite endereçar um elemento da matriz por meio de um índice, e não por meio de dois.

bool matrix::Flat(
  const ulong   index,     // 
  const double   value     // valor a ser definido
   );
 
double matrix::Flat(
  const ulong   index,     // 
   );
 

Parâmetros

index

[in]  índice Flat

value

[in]  O valor a ser definido pelo índice definido.

Valor retornado

Valor com base no índice fornecido.

Observação

Para a matriz matrix mat(3,3) os acessos podem ser escritos da seguinte forma:  

  • para leitura – x=mat.Flat(4), o que equivale a escrever x=mat[1][1]  
  • para escrita – mat.Flat(5, 42), o que equivale a escrever mat[1][2]=42

 

Exemplo:

   matrix matrix_a={{10,3,2},{1,8,12},{6,5,4},{7,11,9}};
   Print("matrix_a\n",matrix_a);
   ulong arg_max=matrix_a.ArgMax();
   Print("max_value=",matrix_a.Flat(arg_max));
   matrix_a.Flat(arg_max,0);
   arg_max=matrix_a.ArgMax();
   Print("max_value=",matrix_a.Flat(arg_max));
 
 
  /*
  matrix_a
  [[10,3,2]
   [1,8,12]
   [6,5,4]
   [7,11,9]]
  max_value=12.0
  max_value=11.0
  */