Заполнение значениями двумерного массива в цикле.

 
Всем привет! Вопрос к знающим, как в цикле заполнить двумерный массив? Пытался это сделать через  ArrayFill(), но как вы уже поняли это не получилось. С одномерными массивами более или менее все понятно, а с двумерными нет. Подскажите или киньте ссылку, где почитать (справку читал!) 
 
#property strict
#define  MatrixA  10
#define  MatrixB  10
//+------------------------------------------------------------------+
void OnStart()
  {
   int arr[MatrixA][MatrixB];
   ArrayFill(arr,0,MatrixA*MatrixB,31415);
   string s = "";
   for(int i=0;i<MatrixA;i++)
     {
      s="";
      for(int j=0;j<MatrixB;j++)
        {
         s+=IntegerToString(arr[i][j]) + " , ";
        }
      Print(s);
     }
  }
//+------------------------------------------------------------------+


инициализация в цикле без ArrayFill :

#define  MatrixA  10
#define  MatrixB  10
//+------------------------------------------------------------------+
void OnStart()
  {
   int arr[MatrixA][MatrixB];
   int i,j;
   for(i=0;i<MatrixA;i++)
     {
      for(j=0;j<MatrixB;j++) arr[i][j]=31415;
     }
     
   string s = "";
   for(i=0;i<MatrixA;i++)
     {
      s="";
      for(j=0;j<MatrixB;j++)
        {
         s+=IntegerToString(arr[i][j])+" , ";
        }
      Print(s);
     }
  }
//+------------------------------------------------------------------+
 
вроде как ArrayInitialize() должно заполнять массив при инициализации в не зависимости от того сколькамерный это массив, обычно заполнение нужно чтоб забить весь массив например нулями или -1 или любым другим, удобным для дальнейшей работы, числом или строкой
 
Igor Makanu:


инициализация в цикле без ArrayFill :

Спасибо, буду пробовать.