- Giới thiệu về khoá học lập trình c++ và phương pháp học
- Các khái niệm cơ bản trong c/c++
- Làm việc vào ra dữ liệu input và output trong lập trình c/c++
- Kiểu dữ liệu và toán tử trong lập trình c++
- Làm việc với cấu trúc if else trong lập trình c++
- Hướng dẫn làm bài tập cấu trúc lập trình c++
- Cấu trúc lập trình switch case trong lập trình c++
- Cấu trúc vòng lặp trong lập trình c++
- Hướng dẫn thực hành cấu trúc vòng lặp lập trình c++
- Hướng dẫn thực hành cấu trúc vòng lặp lập trình c++ – P2
- Làm việc với mảng trong lập trình c++
Bài học này sẽ giúp các bạn mới học lập trình c++ hiểu được về mảng, cách sử dụng trong lập trình c++. Như vậy đến thời điểm này chúng ta đã nghiên cứu xong các cấu trúc lập trình c++ bao gồm if else, switch case, while, do while, for. Bạn nào còn chưa nắm chắc thì hãy xem lại nhé. Vì từ giờ trở đi chúng ta sẽ sử dụng những cấu trúc này rất nhiều.
Làm việc với mảng trong lập trình c++: Học lập trình c++ cho người mới
Ở những buổi học trước, các bạn học lập trình c++ đã biết để lưu trữ thông tin chúng ta sẽ khai báo các biến. Vấn đề đặt ra ở đây là nếu giá trị cần lưu trữ không phải 1,2,3,5 mà là rất nhiều. Có thể là 100, 1000 giá trị thì việc khai báo từng biến lưu trữ là không tối ưu, mất thời gian. Trong phần này các bạn học lập trình c++ sẽ học về mảng, khai báo 1 biến mảng có thể chứa nhiều giá trị.
Mảng trong lập trình c++ là gì ?
Mảng là tập hợp các phần tử có cùng kiểu dữ liệu. Ý nghĩa sử dụng mảng có thể lưu trữ được nhiều giá trị.
Đặc điểm của mảng trong lập trình c/c++:
- Mảng gồm tập hợp các phần tử có cùng kiểu dữ liệu
- Khai báo 1 biến mảng có thể chứa được nhiều giá trị
- Các phần tử trong mảng được cấp phát liên tiếp trong bộ nhớ máy tính
Mảng 1 chiều trong lập trình c++
Sử dụng mảng 1 chiều để tạo ra một dãy số. Cho mảng a để xác định giá trị của một phần tử tại vị trí thứ i ta sử dụng cú pháp a[i]. Trong đó i là chỉ số (index), bắt đầu từ số 0.
Cú pháp khai báo mảng 1 chiều trong lập trình c++:
Trong đó:
- Kiểu dữ liệu là các kiểu được học trong lập trình c++ như short, int, float, double,…
- Tên mảng là tên biến được đặt theo quy định lập trình
- n là số lượng phần tử có giá trị cụ thể hoặc hằng số xác định
Để hiểu rõ về cách thức hoạt động của mảng ra xem các ví dụ sử dụng mảng bằng lập trình c++ như sau:
Ví dụ 1: Khai báo 1 mảng số nguyên gồm 3 phần tử sau đó in thông tin ra màn hình
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//Khai báo biến int a[3]; //Gán giá trị cho các phần tử của mảng a[0] = 2; a[1] = 3; a[2] = 6; //In thông tin các phần tử ra giao diện màn hình cout <<"Mang 1 chieu la: "<<endl; for(int i=0; i<3; i++) { cout <<a[i]<<endl; } |
Trong ví dụ trên chúng ta khai báo 1 mảng số nguyên gồm 3 phần tử. Sau đó sử dụng cấu trúc vòng lặp để in ra màn hình. Các bạn học lập trình c++ hãy gõ và thực hành đoạn code và debug để xem hoạt động nhé.
Ví dụ 2: Nhập vào 1 mảng gồm n phần tử từ bàn phím sau đó in thông tin ra màn hình
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
//Khai báo biến int n = 0; int a1[100]; NhapLaiN: cout <<"Nhap vao mang gom n phan tu voi n = "; cin >> n; if(n>100) { cout <<"Ban can phai nhap n nho hon 100"<<endl; goto NhapLaiN; } //Sử dụng vòng lặp để nhập n phần tử cout <<"Nhap cac phan tu cua mang la:"<<endl; for(int i = 0; i<n; i++) { cout <<"a1["<<i<<"] = "; cin >> a1[i]; } //In thông tin ra màn hình cout <<"Danh sach cac phan tu la: "<<endl; for(int i=0; i<n; i++) { cout <<a1[i]<<endl; } |
Mảng 2 chiều trong lập trình c++
Trong mảng nhiều chiều của lập trình c++, người lập trình sử dụng mảng 2 chiều rất nhiều. Để tạo và lưu trữ các thông tin dạng danh sách. Bao gồm các dòng, các cột.
Cú pháp khai báo mảng 2 chiều trong lập trình c++:
Trong đó:
- Tên mảng là tên biến được đặt theo quy định lập trình c++
- m là số dòng, n là số cột được khai báo giá trị cụ thể hoặc hằng số
Để rõ hơn về hoạt động của mảng 2 chiều chúng ta xem một số ví dụ về mảng 2 chiều như sau:
Ví dụ 3: Khai báo 1 mảng 2 chiều số nguyên gồm 3 dòng và 2 cột
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
int a[3][2]; /* a00 a01 a10 a11 a20 a21*/ //Gán giá trị cho các phần tử của mảng //Dòng 1 a[0][0] = 2; a[0][1] = 3; //Dòng 2 a[1][0] = 4; a[1][1] = 5; //Dòng 3 a[2][0] = 8; a[2][1] = 9; //Duyệt danh sách để in thông tin ra màn hình cout <<"Mang 2 chieu la: "<<endl; for(int i=0; i<3; i++) { for(int j=0; j<2; j++) { cout <<a[i][j]<<"\t"; } //Xuống dòng cout <<endl; } |
Trong đoạn code lập trình c++ ở trên, chúng ta khai báo mảng số nguyên gồm 3 dòng và 2 cột. Sau đó in thông tin mảng 2 chiều bằng việc sử dụng 2 vòng lặp lồng nhau.
Ví dụ 4: Nhập vào 1 mảng số thực gồm m dòng và n cột từ bàn phím sau đó in thông tin ra ngoài màn hình
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
int m = 0, n = 0; float a1[100][100]; cout <<"Su dung mang 2 chieu so thuc gom m dong va n cot: "<<endl; cout <<"Nhap so dong m = "; cin >>m; cout <<"Nhap so cot n = "; cin >> n; //Nhập các phần tử từ bàn phím for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { cout <<"a1["<<i<<"]["<<j<<"] = "; cin >> a1[i][j]; } } //Duyệt danh sách để in thông tin ra màn hình cout <<"Mang 2 chieu gom "<<m<<" dong va "<<n<<" cot la:"<<endl; for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { cout <<a1[i][j]<<"\t"; } //Xuống dòng cout <<endl; } |
Các bạn học lập trình c++ có thể xem video bài giảng về mảng dưới đây sau đó thực hành để hiểu rõ hơn.
Hy vọng qua bài học này sẽ giúp các bạn mới học lập trình c++ hiểu về mảng. Và vận dụng được mảng trong lập trình c++ được tốt. Nếu có khó khăn gì bạn có thể comment dưới bài viết này. Hoặc xem thêm những bài học khác về chủ đề này: tại đây. Chúc các bạn học tập tốt !
=============================
☎ STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 – 0866 586 366
Website: https://stanford.com.vn
Facebook:
Youtube: