Cho file mang2.in như sau: Trong đó: Dòng thứ nhất là 2 số nguyên dương m, n cách nhau bở một khoảng trắng. n dòng tiếp theo, mỗi dòng gồm m số nguyên cách nhau bởi một khoảng trắng tạo thành mảng ma có m cột, n dòng. (mảng ma gồm 4 cột 5 dòng) Yêu cầu:a. Đọc dữ liệu từ file mang2.in và in ra màn hình mảng ma. b. Tính tổng đường chéo của mảng gồm m dòng đầu tiên của mảng ma. (tong = 11+3+99+10 = 123) Bài làm with open('mang2.IN')as fi: m,n = list(map(int,fi.readline().split())) ma.append(list(map(int,fi.readline().split()))) if i == j: tong += ma[i][j] Giải thích:Đọc dữ liệu vào
Lệnh này sử dụng phương thức .split() để tách xâu bởi các khoảng trắng tạo thành list. Như vậy, với dòng đầu của file mang2.in là Nếu ta dùng Để chuyển dữ liệu từ string sang int ta có thể ép kiểu cho từng biến. Tuy nhiên như thế sẽ làm cho code dài và khó đọc. Trong bài này ta chuyển dữ liệu string sang int bằng hàm map(). Để dễ hiểu hơn ta xét ví dụ sau: # Tách xâu s thành list a # in mảng a ta có: ['1', '2', '3']. #(lúc này các phần tử là string) # Chuyển các phần tử của mảng a thành kiểu int # in mảng a ta có: [1, 2, 3] Published: 09 February 2019 | Hits: 21738 Mời các bạn download tại: Click here
Làm thế nào để đọc file chứa dữ liệu là mảng 2 chiều các số nguyên trong C?
Mình có một tập tin dulieu.txt có nội dung như sau:
Với dòng đầu là số phần tử của mảng. Các dòng còn lại là giá trị của mảng, làm sao để đọc file dữ liệu này và lưu nó vào mảng 2 chiều trong C ạ? Xin cảm ơn.
Ý tưởng là khởi tạo một con trỏ file, dùng nó để đọc dòng đầu tiên, bạn sẽ lưu được số lượng phần tử của mảng vào một biến
• đã đăng 3.8 năm trước bởi đã bổ sung 3.8 năm trước bởi Bạn chưa đăng nhập, vui lòng đăng nhập để thêm câu trả lời. Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?) |