Ôn tập: thao tác với ma trận
Thuộc phần Logic và luồng xử lý trong hành trình Ruby của Coddy. Bài học 14 trên 56.
Kết hợp việc tạo, truy cập, lặp qua và các mẫu thường gặp trong một thử thách.
Thử thách
Trung bìnhĐọc n từ đầu vào, đây là kích thước của ma trận vuông. Tạo ma trận n × n, trong đó mỗi ô ở hàng r, cột c có giá trị bằng r + c.
Sau đó, in ra từng dòng:
- Ma trận bằng cách dùng
inspecttrên mảng bên ngoài - Tổng của tất cả các ô
- Giá trị lớn nhất trên đường chéo chính
- Ma trận chuyển vị bằng cách dùng
inspect
Với đầu vào 3, đầu ra là:
[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
18
4
[[0, 1, 2], [1, 2, 3], [2, 3, 4]](Với cách tạo này, ma trận tình cờ bằng chính ma trận chuyển vị của nó.)
Tự làm thử
n = gets.to_i
# TODO: tạo ma trận n×n và in ra bốn dòng theo yêu cầu
Tất cả bài học trong Logic và luồng xử lý
1Tìm hiểu sâu về chuỗi
Tổng quan về phương thức chuỗiNội suy chuỗiDuyệt qua chuỗiTách và nối chuỗiÔn tập: Đan chuỗi4Khối lệnh, Proc và lambda
Khối lệnh là gì?do..end và dấu ngoặc nhọnTừ khóa yieldTham số của khối lệnhProc và lambdaÔn tập: bộ lặp tùy chỉnh7Hash, phần 2
Hash.new với giá trị mặc địnhLặp qua HashHash lồng nhauGộp và chuyển đổiÔn tập: Bộ đếm tần suất10Dự án: Hồ sơ học sinh
Tổng quan dự ánThêm học sinh2Phạm vi
Phạm vi là gì?Các phương thức của phạm viPhạm vi trong case / whenÔn tập: luyện tập với phạm vi5Sức mạnh của Enumerable
select và rejectNối chuỗi mapreduce / injectcount, all?, any?, none?group_by và partitionsort_by, min_by, max_byÔn tập: quy trình dữ liệu3Mảng 2 chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuDuyệt qua mảng 2 chiềuCác mẫu phổ biến với mảng 2 chiềuÔn tập: thao tác với ma trận6Dự án: Trình quản lý thư viện
Tổng quan dự ánThêm sáchTự luyện tập: Trình biên dịch Ruby online