Mảng là một cấu trúc dữ liệu quan trọng trong lập trình. Để thực hiện các thao tác trên mảng, chúng ta cần biết cách tham chiếu đến từng phần tử trong mảng. Vậy thực hiện tham chiếu đến phần tử của mảng bằng cách nào? Cùng Hoc365 tìm hiểu ngay sau đây nhé!
Tham chiếu đến phần tử trong mảng được xác định bởi?
Tham chiếu đến phần tử của mảng có thể được thực hiện bằng cách sử dụng chỉ số của phần tử đó trong mảng. Chỉ số được sử dụng để xác định vị trí của phần tử trong mảng, từ đó chúng ta có thể truy cập vào giá trị phần tử trong [] và chỉ số tương ứng.
Ví dụ: Cách tham chiếu đến phần tử của mảng: A[i] với i là chỉ số phân tử trong mảng.
Cùng tìm hiểu các khai bảo mảng 1 chiều và mảng 2 chiều chi tiết ngay sau đây!
Tham chiếu phần tử mảng 1 chiều
Khai báo trực tiếp:
var <tên mảng>:array [kiểu chỉ số] of <kiểu phần tử>;
Ví dụ:
a:array[1..150] of integer;
Ở ví dụ này, đoạn mã khai báo một mảng có tên a có kích thước 150 phần tử kiểu integer, với chỉ số phần tử đầu tiên là 1 và phần tử cuối cùng là 150.
Khai báo gián tiếp:
type <tên kiểu mảng>=array[kiểu phần tử] of <kiểu chỉ số>;
var <tên mảng>:<tên kiểu mảng>;
Ví dụ:
type mang=array[1..150] of integer;
var a,b,c:mang;
Trong ví dụ này, chương trình khai báo 3 biến a, b, c có kiểu dữ liệu là mang, nghĩ là chúng ta có thể lưu trữ các mảng gồm 150 phần tử integer vào các biến này.
Để hiểu rõ hơn về tham chiếu mảng 1 chiều, bạn có thể theo dõi bài viết Mảng 1 chiều là gì đã có trên website Hoc365 nhé!
Tham chiếu phần tử mảng 2 chiều
Vì mảng 2 chiều là bảng nên cần chỉ số hàng và chỉ số cột: A[i,j] với i là chỉ số hàng và j là chỉ số cột.
Cách tham chiếu mảng 2 chiều tương tự như tham chiếu mảng 1 chiều nhưng có thêm chỉ số cột.
Trong ví dụ var a: array [1..3, 1..4] of integer;, ta đang khai báo một mảng có tên là a có kích thước 3×4, tức là mảng này có 3 hàng và 4 cột, mỗi phần tử trong mảng là một số nguyên kiểu integer.
Dễ hiểu hơn, để tham chiếu một phần tử cụ thể trong mảng, ta sử dụng hai chỉ số, ví dụ a[1,2] để truy cập phần tử ở hàng đầu tiên và cột thứ 2 trong mảng a.
Một số ví dụ tham chiếu đến phần tử của mảng
Ví dụ 1: Khai báo mảng một chiều và truy cập vào phần tử đầu tiên của chúng?
Lời giải:
var a: array [1..5] of integer;
a[1] := 10;
Giải thích: Trong đoạn mã này, khai báo một mảng a gồm 5 phần tử kiểu integer. Sau đó, gán giá trị 10 cho phần tử đầu tiên của mảng bằng cách tham chiếu đến phần tử đó qua chỉ số 1.
Ví dụ 2: Khai báo mảng hai chiều và truy cập vào phần tử tại hàng thứ hai, cột thứ ba của mảng?
Lời giải:
var b: array [1..3, 1..4] of integer;
b[2, 3] := 20;
Giải thích: Trong đoạn mã này, khai báo một mảng b gồm 3 hàng và 4 cột. Sau đó, ta gán giá trị 20 cho phần tử tại hàng thứ hai, cột thứ ba của mảng bằng cách tham chiếu đến phần tử đó qua hai chỉ số “2” và “3”.
Ví dụ 3: Khai báo một tham số hàm là một mảng hai chiều và tính tổng các phần tử của mảng:
Lời giải:
function TongMang(var arr: array of array of integer): integer;
var
i, j, sum: integer;
begin
sum := 0;
for i := Low(arr) to High(arr) do
begin
for j := Low(arr[i]) to High(arr[i]) do
begin
sum := sum + arr[i][j];
end;
end;
Result := sum;
end;
Giải thích: Trong ví dụ trên, khai báo một hàm có tham số đầu vào là một mảng hai chiều kiểu integer. Trong hàm, sử dụng vòng lặp để duyệt qua từng phần tử của mảng và tính tổng các phần tử đó. Ở đây, có thể truy cập vào phần tử của mảng bằng cách sử dụng hai chỉ số hàng và cột. Sau đó, trả về giá trị tổng các phần tử của mảng.
Câu hỏi thường gặp
Trong kiểu dữ liệu mảng kiểu chỉ số của mảng thường có kiểu dữ liệu gì?
Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1...n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và cuối (n1 ≤ n2).
Tại sao lại cần phải khai báo kích thước của mảng?
Khai báo mảng cần phải khai báo kích thước để máy có thể cấp phát đủ bộ nhớ chứa số lượng các phần tử.
Trên đây là toàn bộ thông tin chi tiết về cách tham chiếu đến phần tử của mảng. Hoc365 hy vọng bài biết sẽ hữu ích và giúp bạn có thêm thật nhiều kiến thức mới nhé!
Bài viết liên quan
Em cần biết thông tin gì của người mà em muốn gửi thư điện tử cho họ?
Tại sao khi lập mối quan hệ giữa hai trường của hai bảng nhưng Access lại không chấp nhận?
Trong một bài trình chiếu có thể có bao nhiêu trang chiếu?
Trong trang web liên kết hay siêu liên kết là gì? Có vai trò như thế nào?
Người nào có vai trò chịu trách nhiệm quản lý các tài nguyên?
Thiết bị nào xuất dữ liệu văn bản từ máy tính ra ngoài?
Trong khi nhập dữ liệu cho bảng muốn chèn thêm một bản ghi mới ta thực hiện?
Các thao tác thay đổi hình thức biểu mẫu gồm?
Để nâng cao hiệu quả của việc bảo mật ta cần phải?
Phát biểu nào dưới đây không phải là bảo mật thông tin trong hệ cơ sở dữ liệu?
Phát biểu nào dưới đây sai khi nói về mã hóa thông tin?
Thuật ngữ quan hệ dùng trong hệ cơ sở dữ liệu quan hệ là để chỉ đối tượng?
Đáp án chi tiết: Có mấy cách tạo biểu mẫu?
Đáp án: Chọn phát biểu đúng về khai thác cơ sở dữ liệu?
Tạo bảng trong cơ sở dữ liệu quan hệ nhằm mục đích nào dưới đây?
Chi tiết: Trong Access khi tạo liên kết giữa các bảng thì?