Viết chương trình có sử dụng chương trình (do người lập trình định nghĩa ) để
a. Nhập vào ma trận vuông bậc 2 là A có kích thước m x m.
b. Xuất mảng A ra màn hình
c. Tính tổng các phần tử trên đường chéo chính của A
d. Tính tổng các phần tử trên đường chéo phụ của A
e. Tính tổng các phần tử thuộc tam giác trên (không tính trên đường chéo chính) của ma trận A.
f. Tính tổng các phần tử thuộc tam giác dưới (không tỉnh trên đường chéo chính) của ma trận A.
g. Ghi mảng A vừa tạo ở câu a vào tệp có đường dẫn D:/LOP11/MANG_1C.docx sau:
h.Hoàn thành chương trình chính.
Quảng cáo
2 câu trả lời 412
def nhap_ma_tran_vuong():
n = int(input("Nhập kích thước của ma trận vuông (m x m): "))
matrix = []
for i in range(n):
row = []
for j in range(n):
row.append(int(input(f"Nhập phần tử ở vị trí [{i}][{j}]: ")))
matrix.append(row)
return matrix
def xuat_ma_tran(matrix):
for row in matrix:
print(row)
def tong_cheo_chinh(matrix):
n = len(matrix)
total = 0
for i in range(n):
total += matrix[i][i]
return total
def tong_cheo_phu(matrix):
n = len(matrix)
total = 0
for i in range(n):
total += matrix[i][n-i-1]
return total
def tong_tam_giac_tren(matrix):
n = len(matrix)
total = 0
for i in range(n):
for j in range(i+1, n):
total += matrix[i][j]
return total
def tong_tam_giac_duoi(matrix):
n = len(matrix)
total = 0
for i in range(n):
for j in range(i):
total += matrix[i][j]
return total
def ghi_vao_file(matrix, file_path):
with open(file_path, 'w') as file:
for row in matrix:
file.write(' '.join(map(str, row)) + '\n')
# Chương trình chính
if __name__ == "__main__":
# a. Nhập ma trận vuông bậc 2
matrix = nhap_ma_tran_vuong()
# b. Xuất ma trận
print("Ma trận vừa nhập:")
xuat_ma_tran(matrix)
# c. Tính tổng các phần tử trên đường chéo chính
print("Tổng các phần tử trên đường chéo chính:", tong_cheo_chinh(matrix))
# d. Tính tổng các phần tử trên đường chéo phụ
print("Tổng các phần tử trên đường chéo phụ:", tong_cheo_phu(matrix))
# e. Tính tổng các phần tử thuộc tam giác trên
print("Tổng các phần tử thuộc tam giác trên:", tong_tam_giac_tren(matrix))
# f. Tính tổng các phần tử thuộc tam giác dưới
print("Tổng các phần tử thuộc tam giác dưới:", tong_tam_giac_duoi(matrix))
# g. Ghi vào tệp
ghi_vao_file(matrix, "D:/LOP11/MANG_1C.docx")
**a. Nhập vào ma trận vuông bậc 2 là A có kích thước m x m**
```python
def nhap_ma_tran(m):
A = []
for i in range(m):
A.append([int(x) for x in input(f"Nhap dong {i+1}: ").split()])
return A
```
**b. Xuất mảng A ra màn hình**
```python
def xuat_ma_tran(A):
for i in range(len(A)):
for j in range(len(A[0])):
print(A[i][j], end=" ")
print()
```
**c. Tính tổng các phần tử trên đường chéo chính của A**
```python
def tinh_tong_duong_cheo_chinh(A):
tong = 0
for i in range(len(A)):
tong += A[i][i]
return tong
```
**d. Tính tổng các phần tử trên đường chéo phụ của A**
```python
def tinh_tong_duong_cheo_phu(A):
tong = 0
for i in range(len(A)):
tong += A[i][len(A)-1-i]
return tong
```
**e. Tính tổng các phần tử thuộc tam giác trên (không tính trên đường chéo chính) của ma trận A**
```python
def tinh_tong_tam_giac_tren(A):
tong = 0
for i in range(len(A)):
for j in range(i+1, len(A)):
tong += A[i][j]
return tong
```
**f. Tính tổng các phần tử thuộc tam giác dưới (không tỉnh trên đường chéo chính) của ma trận A**
```python
def tinh_tong_tam_giac_duoi(A):
tong = 0
for i in range(len(A)):
for j in range(i):
tong += A[i][j]
return tong
```
**g. Ghi mảng A vừa tạo ở câu a vào tệp có đường dẫn D:/LOP11/MANG_1C.docx**
```python
def ghi_file(A):
with open("D:/LOP11/MANG_1C.docx", "w") as f:
for i in range(len(A)):
for j in range(len(A[0])):
f.write(str(A[i][j]) + " ")
f.write("\n")
```
**h. Hoàn thành chương trình chính:**
```python
m = int(input("Nhap kich thuoc ma tran: "))
A = nhap_ma_tran(m)
xuat_ma_tran(A)
print("Tong duong cheo chinh:", tinh_tong_duong_cheo_chinh(A))
print("Tong duong cheo phu:", tinh_tong_duong_cheo_phu(A))
print("Tong tam giac tren:", tinh_tong_tam_giac_tren(A))
print("Tong tam giac duoi:", tinh_tong_tam_giac_duoi(A))
ghi_file(A)
```
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
86252
