Pascal
Có thể bạn quan tâm
Lập trình Pascal
Mục lục
Home
Bài 1. Mảng nhiều chiều
Tóm tắt lý thuyết
Hiển thị
+ Mảng hai chiều:
Khai báo mảng A hai chiều có các phần tử thuộc kiểu nguyên như sau:
A: Array[1..5,1..5] of Integer;
Trong đó, số phần tử của mảng là 5×5 = 25, được sắp đặt trong bộ nhớ theo thứ tự sau:
A[1,1], A[1,2], ..., A[1,5];
A[2,1], A[2,2], ..., A[2,5];
......................................;
A[5,1], A[5,2], ..., A[5,5];
Vì vậy mảng hai chiều còn được gọi là ma trận. Trong ví dụ, A là ma trận cấp 5×5.
Để truy nhập tới phần tử ở hàng thứ i cột j ta dùng cách viết: A[i][j] hoặc A[i,j].
+ Các mảng nhiều chiều hơn được suy diễn một cách tự nhiên từ các mảng một chiều và hai chiều. Ví dụ, để khai báo một mảng ba chiều B có các phần tử thuộc tập các số nguyên, ta khai báo như sau:
B : Array [1..2,1..3,1..2] of Integer;
Số phần tử của mảng B là 2×3×2 = 12, được sắp xếp trong bộ nhớ theo thứ tự sau:
B[1,1,1]; B[1,1,2];
B[1,2,1]; B[1,2,2];
B[1,3,1]; B[1,3,2];
B[2,1,1]; B[2,1,2];
B[2,2,1]; B[2,2,2];
B[2,3,1]; B[2,3,2];
Các bài tập sau chủ yếu ứng dụng trên mảng hai chiều.
Câu hỏi, ví dụ, bài tập
Trong các bài tập từ 1 đến 11, kích thước của mảng và mảng được nhập từ tệp văn bản INPUT.DATA có dạng sau: dòng đầu tiên ghi số n là kích thước ma trận, n dòng tiếp theo ghi lần lượt các số hạng của hàng tương ứng, mỗi số cách nhau bởi dấu cách. Kết quả của chương trình đưa ra màn hình.
Câu 1: Cho mảng vuông các số thực ((A = (a_{ij}))) kích thước m×n. Hãy lập mảng ((B = (b_{ij}))) cùng kích thước, biết ((b_{ij})) bằng tổng các phần tử của A nằm trong phần dược tô đậm.
Trả lời
Câu 2: Cho mảng vuông các số thực ((A = (a_{ij}))).Hãy tìm cách đổi chỗ các hàng và đổi chỗ các cột của ma trận sao cho phần tử lớn nhất của mảng nằm ở góc trái trên.
Trả lời
Câu 3: Cho mảng vuông các số thực ((A = (a_{ij}))). Hãy tìm cách đổi chỗ các hàng và đổi chỗ các cột của ma trận sao cho phần tử lớn nhất của mảng nằm ở góc trái trên, phần tử nhỏ nhất của mảng nằm ở góc phải dưới.
Trả lời
Câu 4: Cho mảng vuông các số thực ((A = (a_{ij}))). Hãy lập mảng mới từ A bằng cách bỏ đi hàng và cột có chứa phần tử có trị tuyệt đối lớn nhất.
Trả lời
Câu 5: Hãy lập mảng vuông kích thước 7×7 từ các số 1, 2, 3, ..., 49 biết các số sắp xếp trong mảng theo thứ tự sau:
Trả lời
Câu 6: Cho mảng số thực vuông A kích thước 7×7. Hãy lập mảng một chiều độ dài 49 gồm các phần tử của mảng A theo thứ tự đã chỉ ra ở bài trên.
Trả lời
Câu 7: Cho mảng số thực vuông A kích thước 8×8. Hãy lập mảng một chiều độ dài 64 gồm các phần tử của mảng A theo thứ tự sau:
Trả lời
Câu 8: Cho mảng số thực vuông A kích thước n×n. Hãy lập mảng một chiều độ dài n2 gồm các phần tử của mảng A theo thứ tự giống như bài 7.
Trả lời
Câu 9: Cho mảng số thực vuông A kích thước n×n. Hãy lập mảng một chiều độ dài n2 gồm các phần tử của mảng A theo thứ tự giống bài 5.
Trả lời
Câu 10: Hãy lập mảng vuông kích thước n×n từ các số 1, 2, 3, ..., ((n^2)), biết các số sắp xếp trong mảng theo thứ tự như bài 5.
Trả lời
Câu 11: Cho mảng số thực vuông A kích thước 2n×2n. Hãy lập các mảng mới bằng cách đổi chỗ các khối vuông kích thước n×n của A theo các cách sau:
Trả lời
Câu 12: Hãy lập chương trình xây dựng các mảng sau (n nhập từ bàn phím):
$\left[ \begin{array}{l} 1\quad 0\quad \cdots \quad 0\\ 0\quad 1\quad \cdots \quad 0\\ \quad \quad \;\;{\kern 1pt} \cdots \quad \\ 0\;\;\;0\quad \cdots \quad 1 \end{array} \right]$ $\left[ \begin{array}{l} 0\quad \cdots \quad 0\quad 1\\ 0\quad \cdots \quad 2\quad 0\\ \quad \; \cdots \quad \\ n\quad \cdots \quad 0\quad 0 \end{array} \right]$
Trả lời
Câu 13: Hãy lập chương trình xây dựng các mảng sau (n nhập từ bàn phím):
$\left[ \begin{array}{l} 1\quad \;\;2\quad \quad \cdots \quad n - 1\;\quad \;\;\;n\\ 2\quad \;\;3\quad \quad \cdots \quad \;\;n\quad \quad \,n - 1\\ 3\quad \;\;4\quad \quad \cdots \quad n - 1\quad \,\;n - 2\\ \quad \quad \;\;\;\quad \;\; \cdots \quad \\ n\quad n - 1\;\;\;\;\, \cdots \quad \;\;2\quad \quad \;\;\;1 \end{array} \right]$ $\left[ \begin{array}{l} \;\;\frac{1}{{1!}}\quad \;\;\frac{1}{{2!}}\quad \, \cdots \quad \;\frac{1}{{n!}}\\ \frac{1}{{1!2}}\quad \frac{1}{{2!2}}\quad \cdots \quad \frac{1}{{n!2}}\\ \quad \quad \quad \quad \;\;\; \cdots \\ \frac{1}{{1!n}}\quad \frac{1}{{2!n}}\quad \cdots \quad \frac{1}{{n!n}} \end{array} \right]$
Trả lời
Câu 14: Cho bảng kết quả bóng đá là một mảng vuông ((A = (a_{ij}))) kích thước n×n, trong đó n là số đội bóng, ((a_{ij})) = 0 khi đội i thua đội j, ((a_{ij})) = 1 khi đội i hoà đội j và ((a_{ij})) = 3 khi đội i thắng đội j.
a. Hãy tính điểm của các đội bóng.
Kết quả thể hiện ra màn hình theo dạng sau:
1: 30 điểm
2: 25
3: 34
....................................
b. Hãy lập lại bảng kết quả mới, trong đó các đội được sắp xếp theo thứ tự đội kết quả cao đứng trước, đội kết quả thấp đứng sau.
Bảng kết quả là các text file có qui cách như sau:
+ Dòng đầu tiên là số n.
+ n dòng tiếp theo là n hàng của mảng A, các phần tử phân cách nhau bởi dấu cách.
Trả lời
Câu 15: Cho số tự nhiên n và mảng số thực A kích thước 4×n chứa dữ liệu về n hình chữ nhật: (a[1,i], a[2,i]) và (a[3,i], a[4,i]) là các toạ độ góc trái trên và góc phải dưới của hình chữ nhật thứ i. Hỏi có điểm nào trong mặt phẳng toạ độ thuộc tất cả các hình chữ nhật đã cho không? Hãy lập chương trình để giải bài toán đó.
Đầu vào là text file có qui cách như sau:
+ Dòng đầu tiên là số n.
+ n dòng tiếp theo, mỗi dòng gồm 4 số là các toạ độ a[1,i], a[2,i], a[3,i], a[4,i] tương ứng, các số phân cách nhau bởi dấu cách.
Kết quả thể hiện trên màn hình.
Trả lời
Từ khóa » Bài Tập Sắp Xếp Mảng 2 Chiều Pascal
-
Thuật Toán Sắp Xếp Qua Lại Mảng Hai Chiều Trong Pascal - Ôn Thi HSG
-
2022 Bài Tập Pascal: Phần Mảng 2 Chiều - Duy Pets
-
Sắp Xếp Mảng 2 Chiều Tăng Dần Trái - Phải, Trên - Dưới - Thiệu Mao
-
Bài Tập Pascal Về Mảng 2 Chiều - 123doc
-
Bài Tập Sắp Xếp Mảng 2 Chiều | Cộng đồng Học Sinh Việt Nam
-
Viết Chương Trình Sắp Xếp Mảng 2 Chiều Theo Các Yêu Cầu Sau - Hoc24
-
Một Số Bài Tập Pascal Nâng Cao - Thư Viện Đề Thi
-
[DOC] Bài-tập-về-mảng-1-chiều-trong-Pascal (1).doc
-
Sắp Xếp Tăng Dần Trong Mảng Hai Chiều(Pascal) - Diễn Đàn Tin Học
-
[PDF] CHƯƠNG 6 MẢNG HAI CHIỀU
-
Bài 57. Cách Sắp Xếp Mảng Hai Chiều Tăng Dần Hoặc Giảm Dần
-
30 PASCAL | Dữ Liệu Mảng 2 Chiều 2D Array Matrix | Nhập Xuất File
-
Một Số Bài Toán Quy Hoạch động điển Hình - VNOI