Kiểm tra ma phương (magic square) trong C
Bài tập C: Kiểm tra ma phương
Ma phương (Magic Square) là gì ?
Có lẽ một số bạn chưa biết đến khái niệm Ma phương (Magic Square). Mình xin đưa ra khái niệm này như sau:
Ma phương (Magic Square) là một dãy gồm n2 số nguyên dương sắp xếp trong một hình vuông kích thước n x n chia thành n2 ô vuông với n hàng và n cột, sao cho tổng số các số trên mỗi hàng, mỗi cột và trên hai đường chéo đều bằng nhau.
Chương trình C
Dưới đây là chương trình C để giải bài tập kiểm tra ma trận vuông trong C:
#include#include int main() { int size = 3; int matrix[3][3]; // = {{4,9,2},{3,5,7},{8,1,6}}; int row, column = 0; int sum, sum1, sum2; int flag = 0; printf("\nNhap ma tran: "); for (row = 0; row < size; row++) { for (column = 0; column < size; column++) scanf("%d", &matrix[row][column]); } printf("In ma tran vua nhap: \n"); for (row = 0; row < size; row++) { printf("\n"); for (column = 0; column < size; column++) { printf("\t%d", matrix[row][column]); } } //Kiem tra tong phan tu tren cac duong cheo sum = 0; for (row = 0; row < size; row++) { for (column = 0; column < size; column++) { if (row == column) sum = sum + matrix[row][column]; } } //Kiem tra tong phan tu tren cac hang for (row = 0; row < size; row++) { sum1 = 0; for (column = 0; column < size; column++) { sum1 = sum1 + matrix[row][column]; } if (sum == sum1) flag = 1; else { flag = 0; break; } } //Kiem tra tong phan tu tren cac cot for (row = 0; row < size; row++) { sum2 = 0; for (column = 0; column < size; column++) { sum2 = sum2 + matrix[column][row]; } if (sum == sum2) flag = 1; else { flag = 0; break; } } if (flag == 1) printf("\nDay so nay la Magic square!"); else printf("\nDay so nay khong phai la Magic square!"); 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 hoconline.club:
bai-tap-mang-hai-chieu-trong-c.jsp
Bài viết liên quan