Матрица — это двумерный массив, то есть массив, имеющий два индекса.
По существу, матрица является массивом одномерных массивов.
Объявление матриц
int a[4][5]; – матрица целого типа из 4 строк и 5 столбцов (индексы меняются первый от 0 до 3, второй от 0 до 4).
float matr[10][20]; – матрица вещественного типа из 10 строк и 20 столбцов
double x[10][10]; — матрица вещественного типа с двойной точностью из 10 строк и 10 столбцов
В памяти матрицы располагаются по строкам. Быстрее изменяется второй индекс.
Инициализация матриц при объявлении
short x[3][4] ={{9,6,-56,0}, {10,3,-4,78}, {-6,8,45,7}};
int A[4][3]={{12,45,11},{67,21,56},{90,0,-13},{44,-87,-54}};
Доступ к элементам матрицы
Пример 1
int a[5][4],i,j;
a[0][1]=5.1;    /*прямой доступ*/
i=j=3;
a[i][j]=23;      /*косвенный доступ: значения индексов находятся в переменных*/
Ввод матриц
Ввод матриц оуществляется поэлементно, по строкам.
Пример 2
for(i=0;i<n;i++)
   for(j=0;j<m;j++)
     scanf("%f",&a[i][j]);
Вывод матриц
Вывод матриц осуществляется поэлементно, по строкам или по столбцам, в зависимости от требования программы.
Пример 3
for(i=0;i<n;i++)  /* вывод по строкам*/
  {
  for(j=0;j<m;j++)
     printf("%7.2f",a[i][j]);
  printf("\n");
  }
Пример 4
for(j=0;j<m;j++)
  {
  for(i=0;i<n;i++)  /* вывод по столбцам*/
   
     printf("%7.2f",a[i][j]);
  printf("\n");
  }