Code:

#include <conio.h>
#include <stdio.h>
#define max 100
//Nhap ma tran vuong A cap n
void NhapMaTran(int A[max][max], int n)
{
   for(int i = 0; i<n ; i++)
   for(int j = 0; j<n ; j++)
   {
      printf("[%d][%d] =",i,j);
      scanf("%d", &A[i][j]);
   }
}
//Xuat ma tran vuong A cap n
void XuatMaTran(int A[max][max], int n)
{
   for(int i = 0; i<n ; i++)
   {
      printf("\n");
      for(int j = 0; j<n ; j++)
         printf("%d\t",A[i][j]);
   }

}
//Tong hai ma tran A va B luu vao trong ma tran C
void Tong(int A[max][max], int B[max][max], int C[max][max], int n){
   for(int i = 0; i<n ; i++)
   for(int j = 0; j<n ; j++)
      C[i][j] = A[i][j]+B[i][j];
}
//Sap xep ma tran tang dan theo dong su dung thuat toan Bubble Sort
void BubbleSortA(int A[max][max], int n)
{
   for(int k = 0; k<n ; k++)
      for(int i = 0; i<n-1 ; i++)
      for(int j = n-1; j>i ; j--)
      if(A[k][j]>A[k][j-1])
      {
         int temp = A[k][j];
         A[k][j] = A[k][j-1];
         A[k][j-1] = temp;
      }
}
//Chuong trinh chinh
void main()
{
   clrscr();
   int A[max][max],B[max][max], C[max][max], n;
   //nhap cap n
   printf("Nhap cap n= ");
   scanf("%d",&n);
   //nhap ma tran A
   printf("Nhap vao ma tran A\n");
   NhapMaTran(A,n);
   //nhap ma tran B
   printf("Nhap vao ma tran B\n");
   NhapMaTran(B,n);
   //In hai ma tran A va B vua nhap
   printf("Ma tran A vua nhap\n");
   XuatMaTran(A,n);
   printf("\nMa tran B vua nhap\n");
   XuatMaTran(B,n);
   //A+B
   Tong(A,B,C,n);
   printf("\nMa tran C=A+B\n");
   XuatMaTran(C,n);
   //Sep xep mang A tang dan theo dong su dung thuat toan Bubble Sort
   printf("\nSap xep ma tran A tang theo dong\n");
   BubbleSortA(A,n);
   XuatMaTran(A,n);
   getch();
}