Nội dung bài viết
Tìm ma trận nghịch đảo trong C – Tuyển tập bài tập C có giải từ cơ bản tới nâng cao theo các chủ đề Kiểu dữ liệu, Lệnh If-Else, Vòng lặp, Cú pháp cơ bản, Biến, Hàm, Toán tử, Con trỏ, nhập xuất file, đọc ghi file, struct, chuỗi, vẽ tam giác sao, cấu trúc, mảng một chiều, mảng hai chiều, mảng đa chiều đệ qui, danh sách liên kết, linked list.-Tìm ma trận nghịch đảo trong C
Tìm ma trận nghịch đảo trong C
Bài tập C: Tìm ma trận nghịch đảo
Dựa vào phần lý thuyết đã học ở môn Đại số, bạn hãy viết chương trình C để tìm ma trận nghịch đảo của một ma trận đã cho. Đây là bài tập C khá phức tạp và đỏi hỏi bạn cần biết vận dụng thuần thục cách khởi tạo và cách truy cập các phần tử của mảng hai chiều trong C.
Chương trình C
Dưới đây là chương trình C để giải bài tập tìm ma trận nghịch đảo trong C:
#include<stdio.h> //viet mot ham de tim cac phan tu cua ma tran nghich dao // a 3 i i void reduction(float a[][6], int size, int pivot, int col) { int i, j; float factor; factor = a[pivot]; for (i = 0; i < 2 * size; i++) { a[pivot][i] /= factor; } for (i = 0; i < size; i++) { if (i != pivot) { factor = a[i]; for (j = 0; j < 2 * size; j++) { a[i][j] = a[i][j] - a[pivot][j] * factor; } } } } int main() { float matrix[3][6]; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 6; j++) { if (j == i + 3) { matrix[i][j] = 1; } else { matrix[i][j] = 0; } } } printf("nNhap ma tran co kich co 3 X 3:n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { scanf("%f", &matrix[i][j]); } } for (i = 0; i < 3; i++) { reduction(matrix, 3, i, i); } printf("nMa tran nghich dao cua ma tran da cho la:n"); for (i = 0; i < 3; i++) { printf("n"); for (j = 0; j < 3; j++) { printf("%8.3f", matrix[i][j + 3]); } } return(0); }
Biên dịch chương trình C trên sẽ cho kết quả:
Bài học Bài tập C phổ biến tại vietjack.com:
if(window.innerWidth > 1034) {
document.write(‘‘);
}else{
document.write(‘‘);
}
if(window.innerWidth > 1034) {
document.write(‘‘);
}else{
document.write(‘‘);
}
Nội dung được phát triển bởi đội ngũ Meraki Center với mục đích chia sẻ và tăng trải nghiệm khách hàng. Mọi ý kiến đóng góp xin vui lòng liên hệ tổng đài chăm sóc: 1900 0000 hoặc email: hotro@merakicenter.edu.vn