Mảng một chiều là một dãy hữu hạng các phần tử cù
ng kiểu, mảng được đặt tên và mỗi phần tử là được đánh một chỉ số, trong C++ chỉ số này bắt đầu từ 0.
Trên đây là minh họa một mảng một chiều có tên là balance có 5 phần tử kiểu số thực
Để truy xuất được vào từng phần tử của mảng, người ta dùng cách viết chỉ số trong ngoặc vuông
ví dụ: balance[2] là chỉ phần tử thứ 3 của mảng, như trong hình đang chứa giá tr5 3.4
Để sử dụng được mảng ta phải khai báo mảng, trong bất kỳ ngôn ngữ nào, để khai báo mảng ta đều phải chú ý đến 3 yếu tồ: Tên mảng, kiểu phần tử, và số phần tử
cú pháp trong C++:
<Kiểu> <tên mảng>[số phần tử];
ví dụ:
khai báo mảng
double balance[5];
Chúng ta cũng có thể vừa khai báo, vừa khởi tạo cho mảng
ví dụ: int a[3] ={3, 5, 6};
hoặc: int a[] = {3, 5, 6};
Nhập và xuất cho từng phần tử của mảng cũng tương tự như với biến đơn:
ví dụ: cin>>a[1]; // nhập giá trị cho phần tử thứ 2
cout<<a[3]; //xuất giá trị phần tử thứ 4
như vậy muốn nhập bao nhiêu phần tử người ta cứ làm tương tự
Tuy nhiên, việc xử lý trên mảng thông thường là mang tính đồng loạt nên người ta sẽ dùng vòng lặp.
Với một mảng có n phần tử, người ta sẽ nhập và xuất như sau:
Nhập xuất mảng
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
//khai bao mang
int a[20];
int n;
cout<<"nhap so phan tu:";
cin>>n;
//nhap mang
cout<<"nhap cac phan tu cho mang";
for (int i=0; i<n;i++){
cout<<"a["<<i<<"]:";
cin>>a[i];
}
//xuat mang
cout<<"mang ban vua nhap la:";
for(int i=0; i<n;i++){
cout<<setw(3)<<a[i];
}
return 0;
system("pause");
}
Các thao tác trên mảng một chiều cũng là những ứng dụng phổ biến ngoài thực tế khi người ta xử lý một danh sách dữ liệu, bao gồm:
- Tìm kiếm
- Thống kê
- Rút trích
- Tìm max, min
- Sắp xếp
- Thêm, bớt phần tử vào mảng
nhìn chung cách truyền mảng vào hàm cũng tương tự biến đơn, nhưng có một sự khác biệt lớn mà các em cần lưu ý là khi truyền mảng làm tham số thì trong C++ coi nó như là truyền tham chiếu, ta không cần để dấu & trước tên tham số mảng.
Ví dụ:
Void NhapMang(int a[], int n){
Thực hiện các lệnh nhập mảng
}
Lúc này, nếu trong chương trình chính các em khai báo một mảng
int b[100];
cout<<"nhap so phan tu cua b:";
cin>>m;
và gọi hàm
NhapMang(b,m);
thì sau khi thực thi hàm, người dùng nhập giá trị các phần tử vào, thì mảng b coi như cũng đã được nhập.