11/11/2018, 23:29

Bài tập C++ có lời giải (code mẫu)

Bên cạnh các bài tập Python, Java, Quản Trị Mạng cũng tổng hợp cho các bạn một số bài tập C++ cơ bản để luyện tập thêm trong quá trình học ngôn ngữ lập trình C++. Danh mục bài tập C++ này được chia thành 9 phần, mỗi phần có từ 3 đến 5 bài, với cấp độ khó tăng dần. Ban đầu bạn sẽ "khởi ...

Bên cạnh các bài tập Python, Java, Quản Trị Mạng cũng tổng hợp cho các bạn một số bài tập C++ cơ bản để luyện tập thêm trong quá trình học ngôn ngữ lập trình C++. 

Danh mục bài tập C++ này được chia thành 9 phần, mỗi phần có từ 3 đến 5 bài, với cấp độ khó tăng dần. Ban đầu bạn sẽ "khởi động" với những bài tập C++ hết sức cơ bản, như mô phỏng phép nhân tay, in số tiền, kiểm tra một bộ 3 số xem có phải là cạnh của một tam giác không, tính chu vi, diện tích tam giác đó.

Dần dần sẽ là những bài khó hơn như tạo và quản lý danh sách sinh viên, tài liệu, in hoặc thực hiện các công việc khác theo yêu cầu cùa đề bài. Thậm chí là vẽ cả đồ thị của hàm lượng giác. 

Danh mục bài tập C++

  • Bài tập C++ số 1
    • Câu 1: Mô phỏng phép nhân tay
    • Câu 2: Nhập số tiền, in số tờ, mệnh giá
    • Câu 3: Đổi số sang số La Mã
    • Câu 4: In cách đọc số
    • Câu 5: Giải phương trình bậc hai
  • Bài tập C++ số 2
    • Câu 1: Kiểm tra 3 số có phải cạnh tam giác không, nếu có là loại tam giác nào, tính chu vi, diện tích
    • Câu 2: Tính số năm cần gửi tiết kiệm
    • Câu 3: In số PI tính được với sai số cho trước
    • Câu 4: Tìm và in số hoàn hảo
    • Câu 5: Tìm và in các số nguyên tố nhỏ hơn n
  • Bài tập C++ số 3
    • Câu 1: Kiểm tra số chính phương
    • Câu 2: Giải bất phương trình bậc nhất
    • Câu 3: Viết hàm đệ quy tìm ước chung lớn nhất
    • Câu 4: Tính giai thừa cách của số nguyên dương n
    • Câu 5: Viết hàm đệ quy giải bài toán tháp Hà Nội
  • Bài tập C++ số 4
    • Câu 1: In các phần tử của mảng theo yêu cầu
    • Câu 2: Nhập, sắp xếp, in mảng
    • Câu 3: Nhập, in mảng, đếm đoạn theo các tiêu chí
    • Câu 4: Nhập, in, tính tích 2 ma trận
    • Câu 5: Nhập, in ma trận vuông, tính định thức
  • Bài tập C++ số 5
    • Câu 1: Kiểm tra tính đối xứng của một xâu
    • Câu 2: Thống kê số lần xuất hiện một ký tự trong xâu
    • Câu 3: Chuẩn hóa xâu ký tự
    • Câu 4: Nhập mảng xâu ký tự và sắp xếp tăng dần
  • Bài tập C++ số 6
    • Câu 1: Quản lý điểm số thí sinh bằng mảng
    • Câu 2: Quản lý tài liệu, in danh sách theo yêu cầu
    • Câu 3: Quản lý thanh toán tiền điện
  • Bài tập C++ số 7
    • Câu 1: Tạo tệp số, đếm số, số lớn nhất, số nhỏ nhất
    • Câu 2: Tạo tệp tên sinh viên, sắp xếp và in
    • Câu 3: Tạo tệp danh sách hồ sơ sinh viên theo yêu cầu
  • Bài tập C++ số 8
    • Câu 1: Vẽ lá cờ đỏ sao vàng tại vị trí trung tâm màn hình.
    • Câu 2: Vẽ mô phỏng tháp phát sóng ăng-ten.
    • Câu 3: Vẽ bầu trời sao trên màn hình.
    • Câu 4: Vẽ đồ thị hàm số y=sinx.
    • Câu 5: Vẽ quả bóng chuyển động trong khung chữ nhật.
  • Bài tập C++ số 9
    • Câu 1: Tạo lớp vec-tơ theo yêu cầu
    • Câu 2: Tạo lớp phân số theo yêu cầu
    • Câu 3: Tạo lớp hàng hóa theo yêu cầu
    • Câu 4: Viết hàm nhập, xuất, sắp xếp mảng

Bài tập C++ số 1

Câu 1: Mô phỏng phép nhân tay

Lập trình in ra màn hình mô phỏng phép nhân tay 2 số nguyên dương có 3 chữ số nhập từ bàn phím. Ví dụ với 2 số nhập vào là 763 và 589 thì phải in ra màn hình như sau:

Bài tập C++ số 1

Code mẫu:

template <class T>2
template <class T>1
template <class T>0
void nhap(T a[],int n)9
void nhap(T a[],int n)8
void nhap(T a[],int n)7
void nhap(T a[],int n)6
void nhap(T a[],int n)5
void nhap(T a[],int n)4
void nhap(T a[],int n)3
void nhap(T a[],int n)2
void nhap(T a[],int n)1
void nhap(T a[],int n)0
{int i;9
{int i;8
{int i;7
{int i;6
{int i;5

{int i;4

Câu 2: Nhập số tiền, in số tờ, mệnh giá

Một người cần rút một số tiền T từ ngân hàng và muốn tổng số tờ ít nhất. Cho biết có các loại tiền mệnh giá 100, 20, 5 và 1. Nhập từ bàn phím số tiền T và in ra số tờ mỗi loại mệnh giá và tổng số tờ nhận được.

Code mẫu:

{int i;3
{int i;2
{int i;1
{int i;0
cout<<"Nhap cac phan tu cua mang : ";9
cout<<"Nhap cac phan tu cua mang : ";8
cout<<"Nhap cac phan tu cua mang : ";7
cout<<"Nhap cac phan tu cua mang : ";6
cout<<"Nhap cac phan tu cua mang : ";5
cout<<"Nhap cac phan tu cua mang : ";4
cout<<"Nhap cac phan tu cua mang : ";3
cout<<"Nhap cac phan tu cua mang : ";2
cout<<"Nhap cac phan tu cua mang : ";1
cout<<"Nhap cac phan tu cua mang : ";0
for (i=0;i<n;i++)9

Câu 3: Đổi số sang số La Mã

Hãy lập trình nhập 1 số nguyên dương nhỏ hơn 1000 và đổi sang số La mã tương ứng, in kết quả ra màn hình.

Code mẫu:

for (i=0;i<n;i++)8

for (i=0;i<n;i++)7

for (i=0;i<n;i++)6

for (i=0;i<n;i++)5

for (i=0;i<n;i++)4

for (i=0;i<n;i++)3

for (i=0;i<n;i++)2

for (i=0;i<n;i++)1

for (i=0;i<n;i++)0

{cout<<"A["<<i+1<<"]=";9

{cout<<"A["<<i+1<<"]=";8

{cout<<"A["<<i+1<<"]=";7

{cout<<"A["<<i+1<<"]=";6

{cout<<"A["<<i+1<<"]=";5

{cout<<"A["<<i+1<<"]=";4

{cout<<"A["<<i+1<<"]=";3

{cout<<"A["<<i+1<<"]=";2

{cout<<"A["<<i+1<<"]=";1

{cout<<"A["<<i+1<<"]=";0

cin>>a[i];9

cin>>a[i];8

cin>>a[i];7

cin>>a[i];6

cin>>a[i];5

cin>>a[i];4

cin>>a[i];3

cin>>a[i];2

cin>>a[i];1

cin>>a[i];0

}9

}8

}7

}6

}5

}4

}3

}2

}1

}0

}9

}8

}7

}6

Câu 4: In cách đọc số

In ra màn hình cách đọc một số nguyên dương nhỏ hơn 1000000. Ví dụ số 726503 đọc là: bảy mươi hai vạn sáu ngàn năm trăm linh ba.

Code mẫu:

}5

}4

}3

}2

}1

}0

template <class T>9

template <class T>8

template <class T>7

template <class T>6

template <class T>5

template <class T>4

template <class T>3

template <class T>2

template <class T>1

template <class T>0

void xuat(T a[],int n)9

void xuat(T a[],int n)8

void xuat(T a[],int n)7

void xuat(T a[],int n)6

void xuat(T a[],int n)5

void xuat(T a[],int n)4

void xuat(T a[],int n)3

void xuat(T a[],int n)2

void xuat(T a[],int n)1

void xuat(T a[],int n)0

{int i,j;9

Câu 5: Giải phương trình bậc hai

Lập trình giải phương trình ax2 + bx + c = 0, các hệ số thực a, b, c nhập từ bàn phím.

Code mẫu:

{int i,j;8

{int i,j;7

{int i,j;6

{int i,j;5

{int i,j;4

{int i,j;3

{int i,j;2

{int i,j;1

{int i,j;0

for (i=0;i<n;i++) cout<<a[i]<<" ";9

for (i=0;i<n;i++) cout<<a[i]<<" ";8

for (i=0;i<n;i++) cout<<a[i]<<" ";7

for (i=0;i<n;i++) cout<<a[i]<<" ";6

for (i=0;i<n;i++) cout<<a[i]<<" ";5

for (i=0;i<n;i++) cout<<a[i]<<" ";4

for (i=0;i<n;i++) cout<<a[i]<<" ";3

for (i=0;i<n;i++) cout<<a[i]<<" ";2

for (i=0;i<n;i++) cout<<a[i]<<" ";1

for (i=0;i<n;i++) cout<<a[i]<<" ";0

}9

}8

Bài tập C++ số 2

Câu 1: Kiểm tra 3 số có phải cạnh tam giác không, nếu có là loại tam giác nào, tính chu vi, diện tích

Nhập 3 số thực a, b, c và kiểm tra 3 số đó có phải là 3 cạnh của 1 tam giác không? Nếu là 3 cạnh tam giác thì cho biết là tam giác nào trong các loại tam giác sau: đều, vuông cân, vuông, cân, thường và tính chu vi, diện tích của tam giác đó. In kết quả ra màn hình.

Code mẫu:

}7

}6

}5

}4

}3

}2

}1

}0

template <class T>9

template <class T>8

template <class T>7

template <class T>6

template <class T>5

template <class T>4

template <class T>3

template <class T>2

template <class T>1

template <class T>0

void sapxep(T a[],int n)9

void sapxep(T a[],int n)8

void sapxep(T a[],int n)7

void sapxep(T a[],int n)6

void sapxep(T a[],int n)5

Câu 2: Tính số năm cần gửi tiết kiệm

Một người cần có một số tiền T, tích lũy bằng cách gửi tiết kiệm số tiền ban đầu là S với lãi suất có kỳ hạn theo năm là P% theo phương thức lũy tiến (lãi của mỗi năm được cộng vào với tiền gốc). Hãy nhập vào các số thực T, S, P và xác định số năm cần gửi tiết kiệm.

Code mẫu:

void sapxep(T a[],int n)4

void sapxep(T a[],int n)3

void sapxep(T a[],int n)2

void sapxep(T a[],int n)1

void sapxep(T a[],int n)0

{int i,j;T tg;9

{int i,j;T tg;8

{int i,j;T tg;7

{int i,j;T tg;6

{int i,j;T tg;5

{int i,j;T tg;4

{int i,j;T tg;3

{int i,j;T tg;2

Câu 3: In số PI tính được với sai số cho trước

Lập trình tính số PI với sai số eps cho trước nhập từ bàn phím. Biết rằng số PI tính theo công thức: PI = 4 - 4/3 + 4/5 - 4/7 +... tính tổng các số hạng có giá trị không nhỏ hơn eps. In ra số PI tính được và số PI của Turbo C++ với 10 chữ số thập phân để so sánh.

Code mẫu:

{int i,j;T tg;1

{int i,j;T tg;0

for (i=0;i<n-1;i++)9

for (i=0;i<n-1;i++)8

for (i=0;i<n-1;i++)7

for (i=0;i<n-1;i++)6

for (i=0;i<n-1;i++)5

for (i=0;i<n-1;i++)4

for (i=0;i<n-1;i++)3

for (i=0;i<n-1;i++)2

for (i=0;i<n-1;i++)1

for (i=0;i<n-1;i++)0

for (j=i+1;j<n;j++)9

for (j=i+1;j<n;j++)8

for (j=i+1;j<n;j++)7

for (j=i+1;j<n;j++)6

Câu 4: Tìm và in số hoàn hảo

Tìm và in ra màn hình tất cả các số hoàn hảo không vượt quá số n cho trước nhập từ bàn phím. Số hoàn hảo là số bằng tổng các ước số của nó không kể ước số là chính số đó. Ví dụ số 6 là số hoàn hảo vì 6=1+2+3.

Code mẫu:

for (j=i+1;j<n;j++)5

for (j=i+1;j<n;j++)4

for (j=i+1;j<n;j++)3

for (j=i+1;j<n;j++)2

for (j=i+1;j<n;j++)1

for (j=i+1;j<n;j++)0

if (a[i]>a[j])9

if (a[i]>a[j])8

if (a[i]>a[j])7

if (a[i]>a[j])6

if (a[i]>a[j])5

if (a[i]>a[j])4

if (a[i]>a[j])3

if (a[i]>a[j])2

if (a[i]>a[j])1

if (a[i]>a[j])0

{tg=a[i]; a[i]=a[j]; a[j]=tg;9

{tg=a[i]; a[i]=a[j]; a[j]=tg;8

{tg=a[i]; a[i]=a[j]; a[j]=tg;7

{tg=a[i]; a[i]=a[j]; a[j]=tg;6

{tg=a[i]; a[i]=a[j]; a[j]=tg;5

Câu 5: Tìm và in các số nguyên tố nhỏ hơn n

Tìm và in ra màn hình tất cả các số nguyên tố không vượt quá số n cho trước nhập từ bàn phím. Số nguyên tố là số chỉ có ước số là 1 và chính số đó.

Code mẫu:

{tg=a[i]; a[i]=a[j]; a[j]=tg;4

{tg=a[i]; a[i]=a[j]; a[j]=tg;3

{tg=a[i]; a[i]=a[j]; a[j]=tg;2

{tg=a[i]; a[i]=a[j]; a[j]=tg;1

{tg=a[i]; a[i]=a[j]; a[j]=tg;0

}9

}8

}7

}6

}5

}4

}3

}2

}1

}0

}9

}8

}7 

Bài tập C++ số 3

Câu 1: Kiểm tra số chính phương

Viết 1 hàm kiểm tra 1 số có là chính phương hay không (số chính phương là số bằng bình phương của một số nguyên nào đó); một hàm kiểm tra 1 số có phải là số Pitago hay không (số Pitago là số chính phương và bằng tổng 2 số chính phương khác). Trong hàm main nhập số nguyên dương và sử dụng các hàm trên kiểm tra có là số chính phương? số Pitago?

Code mẫu:

}6

}5

}4

}3

}2

}1

}0

void main()9

void main()8

void main()7

void main()6

void main()5

void main()4

void main()3

void main()2

void main()1

void main()0

{int a[100],n;9

{int a[100],n;8

{int a[100],n;7

{int a[100],n;6

{int a[100],n;5

{int a[100],n;4

{int a[100],n;3

{int a[100],n;2

{int a[100],n;1

{int a[100],n;0

float b[100];9

float b[100];8

float b[100];7

Câu 2: Giải bất phương trình bậc nhất

Lập trình giải bất phương trình ax+b>0 theo yêu cầu: Viết 1 hàm nhập các hệ số a, b; một hàm giải bất phương trình. Hàm main sử dụng các hàm đã viết và có thể chạy nhiều lần giải các bất phương trình khác nhau.

Code mẫu:

float b[100];6

float b[100];5

float b[100];4

float b[100];3

float b[100];2

float b[100];1

float b[100];0

clrscr();9

clrscr();8

clrscr();7

clrscr();6

clrscr();5

clrscr();4

clrscr();3

clrscr();2

clrscr();1

clrscr();0

cout<<"Nhap so phan tu n= ";9

cout<<"Nhap so phan tu n= ";8

cout<<"Nhap so phan tu n= ";7

cout<<"Nhap so phan tu n= ";6

cout<<"Nhap so phan tu n= ";5

cout<<"Nhap so phan tu n= ";4

cout<<"Nhap so phan tu n= ";3

cout<<"Nhap so phan tu n= ";2

Câu 3: Viết hàm đệ quy tìm ước chung lớn nhất

Viết hàm đệ quy tìm ước số chung lớn nhất của 2 số tự nhiên; một hàm tìm bội số chung nhỏ nhất của 2 số tự nhiên. Hàm main sử dụng các hàm đã viết và có thể chạy nhiều lần để tìm ước số chung lớn nhất và bội số chung nhỏ nhất của các cặp số nguyên dương khác nhau. Yêu cầu kiểm tra dữ liệu nhập vào phải là các số nguyên dương.

Code mẫu:

cout<<"Nhap so phan tu n= ";1

cout<<"Nhap so phan tu n= ";0

cin>>n;9

cin>>n;8

cin>>n;7

cin>>n;6

cin>>n;5

cin>>n;4

cin>>n;3

cin>>n;2

cin>>n;1

cin>>n;0

cout<<" Nhap mang so nguyen: ";9

cout<<" Nhap mang so nguyen: ";8

cout<<" Nhap mang so nguyen: ";7

cout<<" Nhap mang so nguyen: ";6

cout<<" Nhap mang so nguyen: ";5

cout<<" Nhap mang so nguyen: ";4

cout<<" Nhap mang so nguyen: ";3

cout<<" Nhap mang so nguyen: ";2

cout<<" Nhap mang so nguyen: ";1

cout<<" Nhap mang so nguyen: ";0

nhap(a,n);9

nhap(a,n);8

nhap(a,n);7

nhap(a,n);6

nhap(a,n);5

nhap(a,n);4

nhap(a,n);3

Câu 4: Tính giai thừa cách của số nguyên dương n

Viết hàm đệ quy tính giai thừa cách của số nguyên dương n. Hàm main sử dụng hàm này và có thể chạy nhiều lần để tính cho nhiều số n khác nhau nhập từ bàn phím. Yêu cầu kiểm tra dữ liệu nhập vào phải là số nguyên dương. Công thức tính giai thừa cách của n: n!=1.3...n nếu n lẻ và n!=2.4...n nếu n chẵn.

Code mẫu:

nhap(a,n);2

nhap(a,n);1

nhap(a,n);0

cout<<"Mang truoc khi sap xep : ";9

cout<<"Mang truoc khi sap xep : ";8

cout<<"Mang truoc khi sap xep : ";7

cout<<"Mang truoc khi sap xep : ";6

cout<<"Mang truoc khi sap xep : ";5

cout<<"Mang truoc khi sap xep : ";4

cout<<"Mang truoc khi sap xep : ";3

cout<<"Mang truoc khi sap xep : ";2

cout<<"Mang truoc khi sap xep : ";1

cout<<"Mang truoc khi sap xep : ";0

xuat(a,n);9

xuat(a,n);8

xuat(a,n);7

xuat(a,n);6

xuat(a,n);5

xuat(a,n);4

xuat(a,n);3

xuat(a,n);2

Câu 5: Viết hàm đệ quy giải bài toán tháp Hà Nội

Viết hàm đệ quy giải bài toán tháp Hà Nội: Cần chuyển n tầng tháp từ vị trí A sang vị trí B dùng vị trí C làm trung gian. Yêu cầu: Mỗi lần chỉ chuyển 1 tầng, chỉ được dùng các vị trí A, B, C để đặt các tầng tháp, không được đặt tầng lớn lên trên tầng nhỏ. Hàm main sử dụng hàm này và có thể chạy nhiều lần để tính cho nhiều số n khác nhau nhập từ bàn phím.

Code mẫu:

xuat(a,n);1

xuat(a,n);0

sapxep(a,n);9

sapxep(a,n);8

sapxep(a,n);7

sapxep(a,n);6

sapxep(a,n);5

sapxep(a,n);4

sapxep(a,n);3

sapxep(a,n);2

sapxep(a,n);1

sapxep(a,n);0

cout<<" Mang sau khi sap xep : ";9

cout<<" Mang sau khi sap xep : ";8

cout<<" Mang sau khi sap xep : ";7

cout<<" Mang sau khi sap xep : ";6

cout<<" Mang sau khi sap xep : ";5

cout<<" Mang sau khi sap xep : ";4

cout<<" Mang sau khi sap xep : ";3

cout<<" Mang sau khi sap xep : ";2

cout<<" Mang sau khi sap xep : ";1

cout<<" Mang sau khi sap xep : ";0

xuat(a,n);9

xuat(a,n);8

xuat(a,n);7

xuat(a,n);6

xuat(a,n);5

xuat(a,n);4

Bài tập C++ số 4

Câu 1: In các phần tử của mảng theo yêu cầu

Nhập mảng n số thực, tìm và in ra phần tử nhỏ nhất, lớn nhất, tính và in ra trung bình cộng của các phần tử trong mảng. In ra các phần tử nhỏ hơn, lớn hơn trung bình cộng.

Code mẫu:

xuat(a,n);3

xuat(a,n);2

xuat(a,n);1

xuat(a,n);0

cout<<" Nhap mang so thuc: ";9

cout<<" Nhap mang so thuc: ";8

cout<<" Nhap mang so thuc: ";7

cout<<" Nhap mang so thuc: ";6

cout<<" Nhap mang so thuc: ";5

cout<<" Nhap mang so thuc: ";4

cout<<" Nhap mang so thuc: ";3

cout<<" Nhap mang so thuc: ";2

cout<<" Nhap mang so thuc: ";1

cout<<" Nhap mang so thuc: ";0

nhap(b,n);9

nhap(b,n);8

nhap(b,n);7

nhap(b,n);6

nhap(b,n);5

nhap(b,n);4

nhap(b,n);3

nhap(b,n);2

nhap(b,n);1

nhap(b,n);0

cout<<"Mang truoc khi sap xep : ";9

cout<<"Mang truoc khi sap xep : ";8

cout<<"Mang truoc khi sap xep : ";7

Câu 2: Nhập, sắp xếp, in mảng

Viết một hàm nhập mảng, một hàm sắp xếp mảng, một hàm in các phần tử của mảng ra màn hình. Hàm main sử dụng các hàm này để nhập mảng n phần tử, in ra mảng trước và sau khi sắp xếp.

Code mẫu:

cout<<"Mang truoc khi sap xep :
";6

cout<<"Mang truoc khi sap xep : ";5

cout<<"Mang truoc khi sap xep : ";4

cout<<"Mang truoc khi sap xep : ";3

cout<<"Mang truoc khi sap xep : ";2

cout<<"Mang truoc khi sap xep : ";1

cout<<"Mang truoc khi sap xep : ";0

xuat(b,n);9

xuat(b,n);8

xuat(b,n);7

xuat(b,n);6

xuat(b,n);5

xuat(b,n);4

xuat(b,n);3

xuat(b,n);2

xuat(b,n);1

xuat(b,n);0

sapxep(b,n);9

sapxep(b,n);8

sapxep(b,n);7

sapxep(b,n);6

sapxep(b,n);5

sapxep(b,n);4

sapxep(b,n);3

sapxep(b,n);2

sapxep(b,n);1

sapxep(b,n);0

cout<<" Mang sau khi sap xep : ";9

cout<<" Mang sau khi sap xep : ";8

cout<<" Mang sau khi sap xep : ";7

cout<<" Mang sau khi sap xep : ";6

cout<<" Mang sau khi sap xep : ";5

cout<<" Mang sau khi sap xep : ";4

cout<<" Mang sau khi sap xep : ";3

cout<<" Mang sau khi sap xep : ";2

cout<<" Mang sau khi sap xep : ";1

cout<<" Mang sau khi sap xep : ";0

Câu 3: Nhập, in mảng, đếm đoạn theo các tiêu chí

Viết một hàm nhập mảng, một hàm in các phần tử của mảng ra màn hình, một hàm đếm số các đoạn tăng, một hàm tìm đoạn tăng dài nhất trong mảng. Hàm main sử dụng các hàm này để nhập mảng n phần tử, in mảng, in số đoạn tăng và đoạn tăng dài nhất trong mảng.

Code mẫu:

xuat(b,n);9

xuat(b,n);8

xuat(b,n);7

xuat(b,n);6

xuat(b,n);5

xuat(b,n);4

xuat(b,n);3

xuat(b,n);2

xuat(b,n);1

xuat(b,n);0

}9

}8

}7

}6

}5

}4

}3

}2

}1

}0

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');9

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');8

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');7

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');6

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');5

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');4

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');3

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');2

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');1

(function (i, s, o, g, r, a, m) {i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');ga('create', 'UA-142769-1', 'auto');ga('set', 'dimension2', 'sp_bichthuy');ga('send', 'pageview');0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

Câu 4: Nhập, in, tính tích 2 ma trận

Viết một hàm nhập các phần tử của ma trận 2 chiều, một hàm in ma trận theo hàng cột, một hàm nhân 2 ma trận. Hàm main sử dụng các hàm này để nhập ma trận A kích thước MxN và ma trận B kích thước NxP. In ra ma trận A, B và ma trận C là tích 2 ma trận A và B.

Code mẫu:

 (adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({});9

(adsbygoogle = window.adsbygoogle || []).push({});8

(adsbygoogle = window.adsbygoogle || []).push({});7

(adsbygoogle = window.adsbygoogle || []).push({});6

(adsbygoogle = window.adsbygoogle || []).push({});5

(adsbygoogle = window.adsbygoogle || []).push({});4

(adsbygoogle = window.adsbygoogle || []).push({});3

(adsbygoogle = window.adsbygoogle || []).push({});2

(adsbygoogle = window.adsbygoogle || []).push({});1

(adsbygoogle = window.adsbygoogle || []).push({});0

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});9

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});8

Câu 5: Nhập, in ma trận vuông, tính định thức

Viết một hàm nhập các phần tử của ma trận vuông cấp n, một hàm in ma trận theo cấu trúc hàng cột, một hàm tính định thức ma trận cấp n. Hàm main sử dụng các hàm này để nhập ma trận vuông cấp n, in ra ma trận, tính và in ra định thức của ma trận đó.

Code mẫu:

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});7

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});6

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});5

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});4

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});3

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});2

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});1

(adsbygoogle = window.adsbygoogle || []).push({google_ad_client: "ca-pub-9275417305531302",enable_page_level_ads: true});0

9

8

7

6

5

4

3

2

1

0

9

8

7

6

5

4

3

2

1

0

9

8

7

6

5

4

3

2

1

0

.breview-box{background:#fff;overflow:hidden;font-family:Tahoma !important;font-size:11px;color:#333;line-height:1.5;padding:10px 8px 0;text-align:left}.breview-box p{margin:0;padding:0;line-height:1.5;font-family:Tahoma !important;font-size:11px}.adx-domain,.adx-domain a{color:#666;padding-left:1px !important;text-decoration:none;clear:both}.adx-title,.adx-title a{text-decoration:none;font-weight:700;color:#000;float:left}.adx-title a:hover{color:#34b9e2}.adx-body{clear:both;padding-top:5px}.margin-top10{margin-top:10px}.awidth-300{awidth:278px}.with-160{awidth:158px}.TextLinkEditor{background-color:#f1f1f1;display:block;border:solid 1px #ccc;margin:5px;padding:10px}.adx-image{awidth:95px;margin-right:5px;display:block;float:left}.adx-image img{awidth:90px;border:none}.adx-sep-h{height:1px !important;line-height:1px;border-top:solid 1px #e5e5e5}.adx-row{margin-bottom:10px}.anchor-ad.mobile{position:fixed;awidth:100%;left:0;bottom:0;background:#f6f6f6;box-shadow:2px -1px 5px rgba(200,200,200,.7)}.mobile .adx-image img{awidth:60px;border:none;position:absolute;top:10px;left:10px;padding:3px;background-color:#fff;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.mobile .adx-zone{background:#f6f6f6}.mobile .adx-zone .adx-row{display:none}.mobile .adx-zone .adx-row:first-child{display:block}.mobile .adx-zone .adx-sep-h{display:none}.mobile .breview-box{background:none;overflow:hidden;padding-top:10px;position:relative;padding-left:80px;font-family:Tahoma,Arial}.mobile p.adx-item.adx-domain{display:none}.adx-text{display:block}.adx-text .adx-text-title{awidth:80px;display:inline-block}.adx-text .adx-text-value{display:inline-block}.adx-text .adx-text-value.strock{color:#999}.adx-text .adx-text-value.highlight{color:#f00}.adx-text .adx-text-value.highlight2{color:#3c763d}.adx-image.small{awidth:70px}.adx-image.small img{awidth:60px}.adx-domain a.lnk-catalog{color:#3c763d}.adx-horizontal .adx-cell{display:inline-block;vertical-align:top}.meta-ads .adx-horizontal .adx-cell{min-awidth:300px;font-size:11px}.pswp{display:none;position:absolute;awidth:100%;height:100%;left:0;top:0;overflow:hidden;-ms-touch-action:none;touch-action:none;z-index:1500;-webkit-text-size-adjust:100%;-webkit-backface-visibility:hidden;outline:none}.pswp *{-webkit-box-sizing:border-box;box-sizing:border-box}.pswp img{max-awidth:none}.pswp--animate_opacity{opacity:.001;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--dragging .pswp__img{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp__bg{position:absolute;left:0;top:0;awidth:100%;height:100%;background:#000;opacity:0;-webkit-backface-visibility:hidden;will-change:opacity}.pswp__scroll-wrap{position:absolute;left:0;top:0;awidth:100%;height:100%;overflow:hidden}.pswp__container,.pswp__zoom-wrap{-ms-touch-action:none;touch-action:none;position:absolute;left:0;right:0;top:0;bottom:0}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;awidth:100%;-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 333ms cubic-bezier(.4,0,.22,1);transition:transform 333ms cubic-bezier(.4,0,.22,1)}.pswp__bg{will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{-webkit-transition:none;transition:none}.pswp__container,.pswp__zoom-wrap{-webkit-backface-visibility:hidden}.pswp__item{position:absolute;left:0;right:0;top:0;bottom:0;overflow:hidden}.pswp__img{position:absolute;awidth:auto;height:auto;top:0;left:0}.pswp__img--placeholder{-webkit-backface-visibility:hidden}.pswp__img--placeholder--blank{background:#222}.pswp--ie .pswp__img{awidth:100% !important;height:auto !important;left:0;top:0}.pswp__error-msg{position:absolute;left:0;top:50%;awidth:100%;text-align:center;font-size:14px;line-height:16px;margin-top:-8px;color:#ccc}.pswp__error-msg a{color:#ccc;text-decoration:underline}.pswp__button{awidth:44px;height:44px;position:relative;background:none;cursor:pointer;overflow:visible;-webkit-appearance:none;display:block;border:0;padding:0;margin:0;float:right;opacity:.75;-webkit-transition:opacity .2s;transition:opacity .2s;-webkit-box-shadow:none;box-shadow:none}.pswp__button:focus,.pswp__button:hover{opacity:1}.pswp__button:active{outline:none;opacity:.9}.pswp__button::-moz-focus-inner{padding:0;border:0}.pswp__ui--over-close .pswp__button--close{opacity:1}.pswp__button,.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{background:url(/themes/default/images/photoswipe.default-skin.png) 0 0 no-repeat;background-size:264px 88px;awidth:44px;height:44px}@media(-webkit-min-device-pixel-ratio:1.1),(-webkit-min-device-pixel-ratio:1.09375),(min-resolution:105dpi),(min-resolution:1.1dppx){.pswp--svg .pswp__button,.pswp--svg .pswp__button--arrow--left:before,.pswp--svg .pswp__button--arrow--right:before{background-image:url(/themes/default/images/photoswipe.default-skin.svg)}.pswp--svg .pswp__button--arrow--left,.pswp--svg .pswp__button--arrow--right{background:none}}.pswp__button--close{background-position:0 -44px}.pswp__button--share{background-position:-44px -44px}.pswp__button--fs{display:none}.pswp--supports-fs .pswp__button--fs{display:block}.pswp--fs .pswp__button--fs{background-position:-44px 0}.pswp__button--zoom{display:none;background-position:-88px 0}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__button--zoom{background-position:-132px 0}.pswp--touch .pswp__button--arrow--left,.pswp--touch .pswp__button--arrow--right{visibility:hidden}.pswp__button--arrow--left,.pswp__button--arrow--right{background:none;top:50%;margin-top:-50px;awidth:70px;height:100px;position:absolute}.pswp__button--arrow--left{left:0}.pswp__button--arrow--right{right:0}.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{content:';top:35px;background-color:rgba(0,0,0,.3);height:30px;awidth:32px;position:absolute}.pswp__button--arrow--left:before{left:6px;background-position:-138px -44px}.pswp__button--arrow--right:before{right:6px;background-position:-94px -44px}.pswp__counter,.pswp__share-modal{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__share-modal{display:block;background:rgba(0,0,0,.5);awidth:100%;height:100%;top:0;left:0;padding:10px;position:absolute;z-index:1600;opacity:0;-webkit-transition:opacity .25s ease-out;transition:opacity .25s ease-out;-webkit-backface-visibility:hidden;will-change:opacity}.pswp__share-modal--hidden{display:none}.pswp__share-tooltip{z-index:1620;position:absolute;background:#fff;top:56px;border-radius:2px;display:block;awidth:auto;right:44px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.25);box-shadow:0 2px 5px rgba(0,0,0,.25);-webkit-transform:translateY(6px);-ms-transform:translateY(6px);transform:translateY(6px);-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-backface-visibility:hidden;will-change:transform}.pswp__share-tooltip a{display:block;padding:8px 12px;color:#000;text-decoration:none;font-size:14px;line-height:18px}.pswp__share-tooltip a:hover{text-decoration:none;color:#000}.pswp__share-tooltip a:first-child{border-radius:2px 2px 0 0}.pswp__share-tooltip a:last-child{border-radius:0 0 2px 2px}.pswp__share-modal--fade-in{opacity:1}.pswp__share-modal--fade-in .pswp__share-tooltip{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.pswp--touch .pswp__share-tooltip a{padding:16px 12px}a.pswp__share--facebook:before{content:';display:block;awidth:0;height:0;position:absolute;top:-12px;right:15px;border:6px solid transparent;border-bottom-color:#fff;-webkit-pointer-events:none;-moz-pointer-events:none;pointer-events:none}a.pswp__share--facebook:hover{background:#3e5c9a;color:#fff}a.pswp__share--facebook:hover:before{border-bottom-color:#3e5c9a}a.pswp__share--twitter:hover{background:#55acee;color:#fff}a.pswp__share--pinterest:hover{background:#ccc;color:#ce272d}a.pswp__share--download:hover{background:#ddd}.pswp__counter{position:absolute;left:0;top:0;height:44px;font-size:13px;line-height:44px;color:#fff;opacity:.75;padding:0 10px}.pswp__caption{position:absolute;left:0;bottom:0;awidth:100%;min-height:44px}.pswp__caption small{font-size:11px;color:#bbb}.pswp__caption__center{text-align:center;max-awidth:980px;margin:0 auto;font-size:1em;padding:10px;line-height:1.3em;color:#ccc}.pswp__caption--empty{display:none}.pswp__caption--fake{visibility:hidden}.pswp__preloader{awidth:44px;height:44px;position:absolute;top:0;left:50%;margin-left:-22px;opacity:0;-webkit-transition:opacity .25s ease-out;transition:opacity .25s ease-out;will-change:opacity;direction:ltr}.pswp__preloader__icn{awidth:20px;height:20px;margin:12px}.pswp__preloader--active{opacity:1}.pswp__preloader--active .pswp__preloader__icn{background:url(/themes/default/images/photoswipe.preloader.gif) 0 0 no-repeat}.pswp--css_animation .pswp__preloader--active{opacity:1}.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn{-webkit-animation:clockwise 500ms linear infinite;animation:clockwise 500ms linear infinite}.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut{-webkit-animation:donut-rotate 1000ms cubic-bezier(.4,0,.22,1) infinite;animation:donut-rotate 1000ms cubic-bezier(.4,0,.22,1) infinite}.pswp--css_animation .pswp__preloader__icn{background:none;opacity:.75;awidth:14px;height:14px;position:absolute;left:15px;top:15px;margin:0}.pswp--css_animation .pswp__preloader__cut{position:relative;awidth:7px;height:14px;overflow:hidden}.pswp--css_animation .pswp__preloader__donut{-webkit-box-sizing:border-box;box-sizing:border-box;awidth:14px;height:14px;border:2px solid #fff;border-radius:50%;border-left-color:transparent;border-bottom-color:transparent;position:absolute;top:0;left:0;background:none;margin:0}@media screen and (max-awidth:1024px){.pswp__preloader{position:relative;left:auto;top:auto;margin:0;float:right}}@-webkit-keyframes clockwise{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes clockwise{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes donut-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(-140deg);transform:rotate(-140deg)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes donut-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(-140deg);transform:rotate(-140deg)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}.pswp__ui{-webkit-font-smoothing:auto;visibility:visible;opacity:1;z-index:1550}.pswp__top-bar{position:absolute;left:0;top:0;height:44px;awidth:100%}.pswp__caption,.pswp__top-bar,.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right{-webkit-backface-visibility:hidden;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right{visibility:visible}.pswp__top-bar,.pswp__caption{background-color:rgba(0,0,0,.5)}.pswp__ui--fit .pswp__top-bar,.pswp__ui--fit .pswp__caption{background-color:rgba(0,0,0,.3)}.pswp__ui--idle .pswp__top-bar{opacity:0}.pswp__ui--idle .pswp__button--arrow--left,.pswp__ui--idle .pswp__button--arrow--right{opacity:0}.pswp__ui--hidden .pswp__top-bar,.pswp__ui--hidden .pswp__caption,.pswp__ui--hidden .pswp__button--arrow--left,.pswp__ui--hidden .pswp__button--arrow--right{opacity:.001}.pswp__ui--one-slide .pswp__button--arrow--left,.pswp__ui--one-slide .pswp__button--arrow--right,.pswp__ui--one-slide .pswp__counter{display:none}.pswp__element--disabled{display:none !important}.pswp--minimal--dark .pswp__top-bar{background:none}img.lightbox{cursor:zoom-in}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:';content:none}table{border-collapse:collapse;border-spacing:0;max-awidth:100%;overflow-x:auto;word-break:keep-all}ins{vertical-align:top}p>code{padding:3px 4px;margin:0 2px;color:#ad2bee;border-radius:5px;border:1px solid #eee}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;awidth:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;awidth:0;height:0}.clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}body{font-family:Arial,sans-serif;font-size:15px;line-height:23px;background:#eee;color:rgba(0,0,0,.87)}h1,h2,h3,h4,h5{font-size:1em;margin:0;line-height:1.3em;font-weight:100}a{text-decoration:none;color:rgba(0,0,0,.87)}a:hover{color:#ff4500}ul,ol{padding:0;margin:0}pre{max-awidth:100%;max-height:600px;display:block;overflow:auto;padding:8px;font-size:14px;margin-bottom:16px;border:1px solid #eee}#header{position:relative;padding:0}#main{max-awidth:1300px;margin:0 auto;border-radius:3px;background:#fff;min-height:600px;overflow:hidden}#header .topnav{position:absolute;right:20px;top:16px;padding-bottom:13px;z-index:99}#header .topnav .user-info{display:block}#header .topnav .user-info .user-avatar{display:inline-block;awidth:32px;height:32px;vertical-align:middle;overflow:hidden;border-radius:16px;margin-right:8px}#header .topnav .user-info .user-avatar img{max-awidth:100%}#header .topnav .user-info .user-name{display:inline-block;max-awidth:120px;overflow:hidden;color:rgba(0,0,0,.87);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis}#header .topnav .nav-top{display:none;position:absolute;awidth:200px;border:solid 1px #f2f5f8;top:45px;box-shadow:0 1px 3px rgba(0,0,0,.25);border-radius:3px;right:0;background:#fff}#header .topnav:hover .nav-top{display:block}.nav-top:after{content:';display:block;position:absolute;top:-8px;right:75px;awidth:13px;height:13px;background:#fff;border-top:1px solid #f2f5f8;border-right:1px solid #f2f5f8;-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.nav-use::before{content:" ";display:block;opacity:.87;background:url(/themes/default/images/user.png) no-repeat 0 1px;awidth:24px;height:24px;position:absolute;left:8px;top:5px}.nav-out::before{content:" ";display:block;opacity:.87;background:url(/themes/default/images/power.png) no-repeat 0 1px;awidth:24px;height:24px;position:absolute;left:8px;top:5px}.nav-top li{display:block;position:relative;border-bottom:1px solid #f2f5f8;line-height:35px}.nav-top li:last-child{border-bottom:none}.nav-top li a{padding-left:40px;display:block}.nav-top li a{color:rgba(0,0,0,.87)}.nav-top li a:hover{color:#f8752b}#logo{height:60px;awidth:260px;margin-left:20px;display:block;background:url(/themes/default/images/logo.png) no-repeat left center;overflow:hidden;text-indent:-300px}#searchBox{position:absolute;top:16px;left:350px;max-awidth:460px;right:400px;min-awidth:280px}#searchBox form{line-height:30px;vertical-align:top;display:block;border-radius:3px;overflow:hidden;position:relative;overflow:hidden;padding-right:48px}#searchBox #q{display:block;vertical-align:top;height:30px;margin:0 !important;padding:0 0 0 8px !important;box-sizing:border-box;border:1px solid #cacaca !important;border-radius:0;outline:0;font-size:16px;-webkit-appearance:none;-moz-appearance:none;awidth:100%}#searchBox #btnHeaderFind{height:32px;awidth:48px;vertical-align:top;text-align:center;background:#357ae8 url(/themes/default/images/search-16.png) no-repeat center;color:#fff;text-indent:-100px;cursor:pointer;display:block;border-radius:0;margin:0;padding:0;border:none;outline:none;-webkit-appearance:none;position:absolute;-moz-appearance:none;right:0;top:0}.toggle.menu{display:none;background:url(/themes/default/images/menu-buttons.png) no-repeat center 10px rgba(255,255,255,.89);background-size:32px !important;margin-right:10px;height:32px;awidth:32px;padding:10px;position:absolute;right:0;border-radius:3px;top:6px;z-index:100;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;box-shadow:none;-webkit-appearance:none;outline:none}.showmenu #main .toggle.menu{background-position:center -55px;background-color:#fff;z-index:1000}.toggle.search{display:none;background:url(/themes/default/images/menu-buttons.png) no-repeat center -118px rgba(255,255,255,.89);background-size:32px !important;margin-right:10px;height:32px;awidth:32px;padding:10px;position:absolute;right:52px;border-radius:3px;top:6px;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;box-shadow:none;-webkit-appearance:none;outline:none}.showsearch #main .toggle.search{background-position:center -55px;background-color:#fff}.showmenu #main .leftbar .navbox{display:block;position:absolute;left:10px;right:10px;top:48px;awidth:auto;border-radius:5px;background:#fff;box-shadow:0 0 100px #000;z-index:999;padding:10px}#topnav{background:#58257b;margin:0 20px;line-height:38px;border-radius:3px;height:38px;overflow:hidden}#topnav li{display:block;float:left;position:relative}#topnav li .sub{display:none}#topnav li.item>a{padding:0 10px;font-size:1em;color:#fff;cursor:pointer}#topnav li.item>a>img{margin-right:8px;opacity:.6}#topnav li:hover .sub{padding-top:10px;padding-bottom:10px;display:block;position:absolute;background:#fff;border:1px solid #58257b;border-top:none;z-index:99;left:-1px;overflow:hidden}#topnav li:hover .sub a{color:#333;text-transform:none;white-space:nowrap}#topnav .item.s1{display:none}#topnav .item ul{display:none;position:absolute;top:38px;padding-top:10px;left:0;color:#ccc;background:#fff;border:1px solid #aaa;border-top:none;z-index:99;box-shadow:0 0 100px rgba(0,0,0,.2)}#topnav .item:hover ul{display:block}#topnav .item:hover ul li ul{display:none}#topnav .item ul li:hover ul{display:block}#topnav .item ul li{text-indent:0;margin:0;padding:0;awidth:100%;background:#fff}#topnav .item ul a{color:#039;text-align:left;padding:0 10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.9em}#topnav .item ul a:hover{color:#f8752b}#topnav .item a img{vertical-align:text-bottom;height:20px;awidth:20px;-moz-filter:brightness(0) invert(1);-webkit-filter:brightness(0) invert(1);filter:brightness(0) invert(1)}#topnav a{display:block}#topnav a:hover{color:#ff4500 !important}#topnav .item:hover>a{color:#ff0 !important}#contentMain{padding:20px;position:relative}.content{awidth:640px;margin:0 20px 0 0;float:left;display:inline-block;min-height:2000px}.slider{position:relative;overflow:hidden;margin:0 0 20px 0;height:0;padding-top:52.34%;border-radius:3px}.slider .slide{position:absolute;awidth:100%;top:0;height:100%}.slider .slide img{awidth:100%}.slider .slide span{position:absolute;bottom:0;right:0;left:0;display:block;margin:0;padding:10px;background:rgba(0,0,0,.6);font-size:1.5em;line-height:1.3em;text-align:center;font-weight:bold;border-radius:3px;color:#fff}.slider .bx-wrapper{margin-bottom:0}.slider .bx-wrapper .bx-pager{top:0;display:none;height:16px;position:absolute}.slider .bx-wrapper .bx-controls-direction{display:none}.slider:hover .bx-wrapper .bx-controls-direction{display:block}.slider .bx-wrapper .bx-controls-direction a{z-index:1}.slider .bx-wrapper .bx-viewport{border:none;left:0}.slider .bx-wrapper .bx-pager.bx-default-pager a{background:rgba(255,255,255,.5)}.slider .bx-wrapper .bx-pager.bx-default-pager a:hover,.slider .bx-wrapper .bx-pager.bx-default-pager a.active{background:rgba(0,0,0,.5)}.ListNews .post-news{position:relative;awidth:100%;float:left;margin:0 0 20px 0;border-bottom:1px solid #eee;padding-bottom:10px}.ListNews .hd{font-size:1.5em;font-weight:bold;display:block;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee}.ListNews .post-news:last-child{border:none;padding:0}.ListNews .post-news .title{font-size:24px;line-height:34px;margin-bottom:10px;display:block}.listview .listitem .user-info{margin:0 0 10px 0}.listview .user-info .user-link img{display:inline-block;height:24px;awidth:24px;vertical-align:middle;border-radius:50%;opacity:.5}.listview .listitem .user-info:hover .user-link img{opacity:1}.listview .user-info .user-name{color:#666;cursor:pointer}.listview .user-info .date{float:right;color:#888;line-height:24px}.rate-view{height:32px;color:#333}.rate-view>div{display:inline-block;float:left;line-height:32px;padding:0 20px 0 0}.rate span{awidth:80px;height:16px;line-height:16px;margin:1px 0;display:block;background:url(/themes/default/images/stars.png)}.rate-view .view{text-indent:50px;background:url(/themes/default/images/view-icon.png) no-repeat 20px;display:inline-block}.rate-view .print{text-indent:50px;background:url(/themes/default/images/printer.png) no-repeat 15px}.rate-view>div:last-child{border-right:none;padding-right:0;float:right}.rate-view.bottom{margin-top:20px}.ListNews .info{text-indent:28px;background:url(/themes/default/images/tip.png) no-repeat;height:24px;line-height:24px;margin-bottom:10px}.ListNews .info a{font-size:.9em;padding:0 5px;color:#39c}.ListNews .info a:after{content:" >";font-family:monospace;font-size:.9em}.ListNews .info a:last-child:after{display:none}.ListNews .img-news{max-height:250px;text-align:center;overflow:hidden;display:block;border-radius:3px;margin-bottom:10px}.ListNews .img-news img{display:block;max-awidth:100%;height:auto}.ListNews .desc-news{line-height:23px}.sidebar{float:left;awidth:336px;display:inline-block;vertical-align:top}.sidebar .adbox,.sidebar .top-news,.leftbar .top-news{margin:0 auto 20px auto}.navbar{margin-bottom:20px;box-shadow:0 0 1px #ccc;border-radius:3px}.navbar .hdnav{border-bottom:1px solid #eee;display:block;padding:5px 5px 5px 44px;margin-bottom:5px;line-height:32px;font-weight:bold;position:relative;background:#fcfcfc}.navbar li a{display:block;position:relative;padding-left:32px;min-height:38px;border-bottom:1px solid #eee;line-height:38px}.navbar>ul>li>a{padding-left:40px;white-space:nowrap;padding-right:13px;overflow:hidden;text-overflow:ellipsis}.navbar .hdnav img{awidth:20px;height:20px;position:absolute;top:9px;left:10px}.navbar>ul>li>a>img{awidth:20px;height:20px;position:absolute;top:9px;left:10px}.navbar li:last-child a{margin-bottom:0;border-bottom:none}.navbar li ul li img{awidth:20px;height:20px;position:absolute;top:9px;left:0}.navbar>ul>li{position:relative}.navbar>ul>li>ul{display:none;position:absolute;left:200px;top:-10px;min-awidth:200px;background:#fff;border:1px solid #eee;white-space:nowrap;padding:10px;border-radius:5px}.navbar>ul>li.hassub>a:after{content:"";position:absolute;top:15px;right:3px;awidth:0;height:0;border:4px solid transparent;border-left:4px solid #d8d8d8}.navigation .active>a{color:#ff4500}#topnav.navigation li.active>a{color:#ff0}.sidebar .top-news ul{-moz-columns:auto 220px;-webkit-columns:auto 220px;columns:auto 220px;-moz-column-gap:10px;-webkit-column-gap:10px;column-gap:10px}.title-top-news{font-size:24px;line-height:34px}.top-news li{margin:10px 0 0 0;clear:both;border-bottom:1px solid #eee;padding:0 0 10px 0}.top-news li:last-child{margin-bottom:0;border-bottom:none}.top-news li a{display:block;min-height:69px;padding-left:70px;position:relative;max-height:69px;overflow:hidden;text-overflow:ellipsis}.top-news li img{awidth:60px;height:60px;border-radius:3px;margin-right:15px;position:absolute;left:0;top:3px}#footer{font-size:.8em;text-align:center;padding:20px 0;display:block;position:relative;border-top:2px solid #58257b;line-height:18px;margin:0 20px;background:#fff}#footer .info{text-align:left;awidth:50%;float:left}#footer .copyright{text-align:right;awidth:45%;float:right}.post-detail img.teaser{display:block;max-awidth:100%;margin-bottom:10px;border-radius:3px}.post-detail p{margin:10px 0}.post-detail h1{font-size:24px;line-height:34px;font-weight:bold;margin-bottom:10px}.post-detail em{font-style:italic}.post-detail blockquote,.post-detail .tips{display:block;clear:both;background:#fff;padding:15px 20px 15px 45px;margin:0 0 20px;position:relative;border-left:15px solid #58257b;border-right:2px solid #58257b;-moz-box-shadow:2px 2px 15px #ccc;-webkit-box-shadow:2px 2px 15px #ccc;box-shadow:2px 2px 15px #ccc;overflow-x:auto}.post-detail blockquote::before,.post-detail .tips::before{content:"“";font-family:Georgia,serif;font-size:60px;font-weight:bold;color:#999;position:absolute;left:10px;top:30px}.post-detail blockquote::after,.post-detail .tips::after{content:""}.post-detail a{color:#039}.post-detail a:hover{color:#ff4500}.post-detail .infotip{font-size:1.1em;font-weight:normal;color:#888;text-align:right;margin:10px 0}.info-detail{line-height:30px;border:1px solid #eee;border-awidth:1px 0;text-indent:28px;background:url(/themes/default/images/tip.png) no-repeat 0 center;clear:both}.info-detail a{font-size:.9em;padding:0 5px;color:#039}.info-detail a:after{content:" >";font-family:monospace;font-size:.9em}.post-detail{clear:both}.content-detail{font-size:16px;line-height:24px;margin-bottom:20px;overflow:hidden}.content-detail ul{list-style:disc}.content-detail ul li{margin-left:30px}.content-detail ol{list-style:decimal}.content-detail ol li{margin-left:30px}.content-detail .toc{display:block;clear:left;margin:8px 0;border:1px solid #eee;padding:8px;border-radius:3px}.content-detail .toc h2{margin:0 8px;font-size:18px;line-height:24px;padding-right:32px;background:url(themes/default/images/ic_expand_more_black_24dp_1x.png) no-repeat right top;cursor:pointer}.content-detail .toc>ul{border-top:1px solid #eee;padding-top:8px;margin-top:8px}.content-detail .toc.tochidden h2{background:url(themes/default/images/ic_chevron_right_black_24dp_1x.png) no-repeat right top}.content-detail .toc.tochidden ul{display:none}.content-detail .toc ul li{list-style:none;margin-left:8px;line-height:30px}.content-detail .toc ul li a{display:block}.theme.quiz .post-detail img{display:block}.post-detail img{box-shadow:0 0 1px #eee;border-radius:3px;max-awidth:100%;height:auto;margin:0 auto;border-style:solid;border-color:#ccc}.content-detail img[align=left],.content-detail table[align=left]{margin-right:10px}.content-detail img[align=right],.content-detail table[align=right]{margin-left:10px}.content-detail table{max-awidth:100% !important}.content-detail table td{padding:4px}.content-detail table[align=center]{margin:auto}.content iframe{display:block;max-awidth:100%}.content-detail h2{font-size:24px;line-height:34px;margin:10px 0;font-weight:bold}.content-detail h3,.content-detail h4{font-weight:bold;font-size:20px;line-height:26px;margin:10px 0}.content-detail b,.content-detail strong{font-weight:bold}.content-detail i{font-style:italic}.post-detail .tip{border:1px solid #008000;padding:10px;border-radius:3px;border-left-awidth:8px}.tag-detail{line-height:25px;padding:5px 10px}.tag-detail span{font-size:1em}.tag-detail a{font-weight:normal;font-size:1em;margin-right:10px;white-space:nowrap;display:inline-block}.tag-detail a:hover{text-decoration:underline}.tag-detail *:first-letter {text-transform:uppercase}.postpage .user-info{position:relative;border:1px solid #eee;padding:8px;border-top:none;background:#fcfcfc;margin-bottom:20px;min-height:60px}.postpage .user-info .user-link img{awidth:56px;height:56px;border-radius:50%;float:left;margin:5px 10px 5px 5px}.postpage .user-info .user-name{font-size:1.2em;cursor:pointer;line-height:28px;float:left;margin-top:5px}.postpage .user-info .user-name:before{content:"Chia sẻ bởi";display:block;font-size:14px;color:#333}.postpage .user-info .views{float:right;text-align:right;min-awidth:30px;color:#333;line-height:30px;margin-bottom:5px}.postpage .user-info .sharebox{float:right;position:absolute;right:10px;bottom:10px}.postpage .user-info .raty{float:right;margin-left:20px;line-height:30px;color:#888}.post-controls{display:block;clear:both;text-align:right;margin-bottom:20px;opacity:.5}.post-controls li{display:inline-block;line-height:24px;margin-left:20px}.post-controls .views{background:url(/themes/default/images/eye-16.png) no-repeat left center;padding-left:24px}.post-controls .published{background:url(/themes/default/images/today-16.png) no-repeat left center;padding-left:24px}.post-controls .edit{background:url(/themes/default/images/edit-16.png) no-repeat left center;padding-left:24px}.raty img{box-shadow:none}.fa{display:inline-block;height:24px;awidth:24px;background:center no-repeat}.fa-star{background-image:url(/themes/default/images/star-on.png)}.fa-star-o{background-image:url(/themes/default/images/star-off.png)}.more-news{display:block;margin-top:20px;clear:both}.more-news .hd{font-size:24px;line-height:
0