При обработке матриц используются вложенные циклы. Обработка матриц может производиться как по строкам, так и по столбцам.
Так как матрица расположена в памяти по строкам, второй индекс меняется быстрее. Поэтому при обработке по строкам, внешний цикл индексирует строки, а внутренний столбцы.
Пример 1
for(i=0;i<n:i++)
  for(j=0;j<m;j++)
    {
    /*обработка элемента a[i][j]*/
    }
При необходимости обойти матрицу по столбцам, достаточно изменить последовательность выполнения циклов.
Пример 2
for(j=0;j<m:j++)
   for(i=0;i<n;i++)
      {
      /*обработка элемента a[i][j]*/
      }
В эприм. 1 и прим. 2 i – номер элемента в строке, j — номер элемента в столбце.
При решении некоторых задач обработки матриц могут быть выделены подзадачи, при программировании которых можно использовать приемы обработки одномерных массивов.