chương trình C trừ hai ma trận;
Thuật toán trừ hai ma trận
Sử dụng thuật toán sau để viết chương trình trừ hai ma trận;
- BẮT ĐẦU
- Bước 1 -> Nhập ma trận 1 và ma trận 2
- Bước 2 -> Nếu số hàng, số cột của ma trận 1 và ma trận 2 bằng nhau thì thực hiện bước 3, không thực hiện được phép trừ
- Bước 3 -> for i=1 to rows[matrix 1]
- cho j=1 vào các cột [ma trận 1]
- Ma trận đầu vào 1 [i,j]
- Ma trận đầu vào 2 [i,j]
- ma trận 3 [i,j]= ma trận 1 [i,j] – ma trận 2 [i,j];
- cho j=1 vào các cột [ma trận 1]
- bước 4-> Hiển thị ma trận 3 [i,j];
- DỪNG LẠI
Chương trình C để trừ hai ma trận
/* C Program to Subtract Two Matrices */ #include int main[] { int i, j, rows, columns, a[10][10], b[10][10]; int Subtraction[10][10]; printf["\n Please Enter Number of rows and columns : "]; scanf["%d %d", &i, &j]; printf["\n Please Enter the First Matrix Elements\n"]; for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { scanf["%d", &a[rows][columns]]; } } printf["\n Please Enter the Second Matrix Elements\n"]; for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { scanf["%d", &b[rows][columns]]; } } for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { Subtraction[rows][columns] = a[rows][columns] - b[rows][columns]; } } printf["\n After Subtracting Matrix a from Matrix b = a - b \n"]; for[rows = 0; rows < i; rows++] { for[columns = 0; columns < j; columns++] { printf["%d \t ", Subtraction[rows][columns]]; } printf["\n"]; } return 0; }
Đầu ra của chương trình c trên;
Please Enter Number of rows and columns : 3 3 Please Enter the First Matrix Elements 10 20 30 40 50 60 70 80 90 Please Enter the Second Matrix Elements 1 2 3 4 5 6 7 8 9 After Subtracting Matrix a from Matrix b = a - b 9 18 27 36 45 54 63 72 81
Các chương trình C được đề xuất
Chương trình C để đặt các phần tử chẵn và lẻ của mảng thành hai mảng riêng biệt
Chương trình C để đặt số dương và số âm trong hai mảng riêng biệt
Chương trình C để đảo ngược một mảng
Chương trình C để tìm số lớn thứ hai trong một mảng
Chương trình C để tìm số nhỏ thứ hai trong một mảng
Chương trình C để sắp xếp mảng theo thứ tự tăng dần
Chương trình C để sắp xếp mảng theo thứ tự giảm dần
Chương trình C để tính tổng tất cả các phần tử trong một mảng
Chương trình C tính tổng các số chẵn và số lẻ trong một mảng
Chương trình C để hoán đổi hai mảng mà không cần sử dụng biến tạm thời
Chương trình C để in các phần tử duy nhất trong một mảng
Chương trình C để in phần tử thứ K trong một mảng
Chương trình C để xoay trái một mảng
Chương trình C để xoay phải các phần tử mảng
Chương trình C để tìm phần tử lớn nhất liên tiếp trong mảng 2d
Chương trình C để cộng hai ma trận
Chương trình C kiểm tra hai ma trận có bằng nhau hay không
Chương trình C để định thức của một ma trận
Chương trình C để kiểm tra xem Ma trận đã cho có phải là Ma trận nhận dạng không
Chương trình C đổi đường chéo của ma trận
Chương trình C đổi đường chéo của ma trận
Chương Trình C Tìm Ma Trận Tam Giác Dưới
Chương trình C để nhân vô hướng của một ma trận
Chương trình C để kiểm tra ma trận là một ma trận thưa thớt
Chương trình C để tìm tổng các phần tử đường chéo trong ma trận
Chương trình C để tìm tổng của từng hàng và cột trong ma trận
Chương trình C để tìm tổng mỗi hàng trong ma trận
Cách viết chương trình C để trừ hai ma trận?. Hoặc, Cách viết chương trình C để trừ một Mảng nhiều chiều khỏi một Ma trận khác với ví dụ
Chương trình C để trừ hai ma trận
Chương trình này cho phép người dùng nhập số hàng và số cột của hai Ma trận. Tiếp theo, chúng ta sẽ trừ một ma trận khỏi một ma trận khác bằng C For Loop
/* C Program to Subtract Two Matrices */ #include int main[] { int i, j, rows, columns, a[10][10], b[10][10]; int Subtraction[10][10]; printf["\n Please Enter Number of rows and columns : "]; scanf["%d %d", &i, &j]; printf["\n Please Enter the First Matrix Elements\n"]; for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { scanf["%d", &a[rows][columns]]; } } printf["\n Please Enter the Second Matrix Elements\n"]; for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { scanf["%d", &b[rows][columns]]; } } for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { Subtraction[rows][columns] = a[rows][columns] - b[rows][columns]; } } printf["\n After Subtracting Matrix a from Matrix b = a - b \n"]; for[rows = 0; rows < i; rows++] { for[columns = 0; columns < j; columns++] { printf["%d \t ", Subtraction[rows][columns]]; } printf["\n"]; } return 0; }
Trong chương trình C này, Ta đã khai báo 3 mảng hai chiều a, b và Phép trừ có kích thước 10 * 10.
Dưới đây Câu lệnh lập trình C yêu cầu Người dùng nhập Kích thước ma trận a, b [Số hàng, số cột. Ví dụ: 2 Hàng, 3 Cột = a[2][3] và b[2][3]]
printf["\n Please Enter Number of rows and columns : "]; scanf["%d %d", &i, &j];
Tiếp theo, chúng tôi đã sử dụng vòng lặp for để lặp lại mọi ô có trong ma trận[2][3]. Điều kiện bên trong vòng lặp for [hàng < i] và [cột < j] sẽ đảm bảo cho trình biên dịch, không vượt quá giới hạn ma trận. Nếu không, Ma trận sẽ tràn
Câu lệnh scanf bên trong vòng lặp for sẽ lưu trữ các giá trị do người dùng nhập vào trong từng phần tử mảng riêng lẻ, chẳng hạn như a[0][0], a[0][1], a[0][2], a[1][0]
for[rows = 0; rows < i; rows++]. { for[columns = 0; columns < j; columns++] { scanf["%d", &a[rows][columns]]; } }
Tiếp theo, đối với Vòng lặp là lưu trữ các giá trị do người dùng nhập vào ma trận b[2][3]
Ở dòng tiếp theo, chúng ta có thêm một vòng lặp for để thực hiện phép trừ
for[rows = 0; rows < i; rows++] { for[columns = 0;columns < j;columns++] { Subtraction[rows][columns] = a[rows][columns] - b[rows][columns]; } }
Người dùng đã chèn các giá trị cho Chương trình C này để trừ hai ma trận là
a[2][3] = {{10, 20, 30}, { 40, 50, 60}}
b[2][3] = {{25, 95, 65}, { 75, 12, 100}}
Lặp lại hàng đầu tiên cho chương trình C để trừ hai ma trận. for[hàng = 0; hàng < 2; 0++]
Điều kiện [0 < 2] là Đúng. Vì vậy, nó sẽ bước vào vòng lặp for thứ hai
Cột lặp đầu tiên. for[cột = 0; 0 < 3; 0++]
Điều kiện [cột < 3] là Đúng. Vì vậy, nó sẽ bắt đầu thực hiện các câu lệnh bên trong vòng lặp
Phép trừ [hàng][cột] = a[hàng][cột] – b[hàng][cột] = a[0][0] – b[0][0]
Phép trừ [0][0] = 10 – 25 = -15
Cột lặp lại thứ hai. for[cột = 1; 1 < 3; 1++]
Điều kiện [1 < 3] là Đúng
Phép trừ [0][1]= a[0][1] – b[0][1]
Phép trừ [0][1]= 20 – 95 = -75
Cột lặp lại thứ hai. for[cột = 2; 2 < 3; 2++]
Điều kiện [1 < 3] là Đúng
Phép trừ [0][2] = a[0][2] – b[0][2]
Phép trừ [0][2] = 30 – 65 = -35
Tiếp theo, giá trị j tăng lên. Sau khi tăng, điều kiện bên trong vòng lặp for thứ hai [cột < 3] sẽ không thành công. Vì vậy, nó sẽ thoát khỏi vòng lặp
Tiếp theo, giá trị của các hàng sẽ được tăng lên [các hàng sẽ trở thành 1] và bắt đầu lặp lại hàng thứ hai