Chuyển đến nội dung chính

Bài 6. Mảng 1 chiều và mảng 2 chiều trong C++

 

Mảng một chiều

Trong ngôn ngữ C++, mảng 1 chiều là kiểu mảng mà trong đó các phần tử được sắp xếp liên tục và có thứ tự trên bộ nhớ máy tính. Các phần tử trong mảng được đánh số thứ tự từ đầu mảng tới cuối mảng, bắt đầu từ số 0 và tăng dần 1 đơn vị. Chúng ta gọi số này là index (chỉ số) của phần tử, và mảng có n phần tử thì sẽ có index bắt đầu từ [0] tới [n – 1].



Cách khai báo:

type name[length];
hoặc khai báo với số lượng phần tử cho trước
type name[length] = {a1, a2, a3, a4, ..., an};
hoặc
type name[] = {a1, a2, .., ax};

Ví dụ


#include <bits/stdc++.h>
using namespace std;
int main() {
    int A[100];
    long int B[] = {1, 2, 3};
    float C[] = {1.2, 2.3};
}


Cách truy cập, gán giá trị cho 1 phần tử trong mảng

Để truy cập đến giá trị của một phần tử ta thực hiện:

Array_name[index];

Để gán giá trị cho một phần tử trong mảng ta thực hiện:

Array_name[index] = value;

hoặc kết hợp với cin

cin >> Array_name[index];

Rất dễ có phải không nào?


Ví dụ


#include <bits/stdc++.h>
using namespace std;
int main() {
    int A[100], n;
    cin >> n;
    for(int i = 1; i <= n; i++) {
        cin >> A[i];
    }
    A[2] = 3;
    for(int i = 1; i <= n; i++) {
        cout << A[i] << " ";
    }
}


Kết quả:


Mảng hai chiều

Mảng hai chiều được biểu diễn dưới dạng ma trận (gồm các hàng và cột).


Cách khai báo:

data_type array_name[hang][cot];

hoặc khai báo khởi tạo giá trị sẵn

data_type array_name[hang][cot] = {
    {a1, a2, ..., acot},
    ...
    {a1, a2, ..., acot}
};

Ví dụ


#include <bits/stdc++.h>
using namespace std;
int main() {
    int A[100][100];
    long int B[2][3] = {
        {1, 2, 4},
        {2, 3, 8}
    };
}



Cách truy cập, gán giá trị cho 1 phần tử trong mảng

Cũng tương tự mảng một chiều:

Để truy cập đến giá trị của một phần tử trong mảng ta thực hiện:

Array_name[hangi][coti];

Để gán giá trị cho một phần tử trong mảng ta thực hiện:

Array_name[hangi][coti] = value;

hoặc kết hợp với cin

cin >> Array_name[hangi][coti];


Ví dụ:


#include <bits/stdc++.h>
using namespace std;
int main() {
    int A[100][100], hang, cot;
    cin >> hang >> cot;
    for(int i = 1; i <= hang; i++) {
        for(int j = 1; j <= cot; j++) {
            cin >> A[i][j];
        }
    }
    for(int i = 1; i <= hang; i++) {
        for(int j = 1; j <= cot; j++) {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
}


Kết quả:


Qua bài viết hôm nay, chắc hẳn bạn cũng đã hiểu mảng 1 chiều và mảng 2 chiều trong C++, hãy tiếp tục những bài tiếp theo nhé.

Nhận xét