Mảng song song (parallel array) là cấu trúc chứa nhiều mảng. Các mảng này cùng kích thước và các phần tử liên quan nhau. Tất cả phần tử trong mảng song song đại diện cho một thực thể chung.
Ví dụ mảng song song:
employee_name = { Harry, Sally, Mark, Frank, Judy } employee_salary = {10000, 5000, 20000, 12000, 5000}Trong ví dụ, tên và lương 5 nhân viên lưu trong 2 mảng.
Chương trình minh họa mảng song song:
Ví dụ
#include <iostream> #include <string> using namespace std; int main() { int max = 0, index = 0; string empName [ ] = {"Harry", "Sally", "Mark", "Frank", "Judy" }; string empDept [ ] = {"IT", "Sales", "IT", "HR", "Sales"}; int empSal[ ] = {10000, 5000, 20000, 12000, 5000 }; int n = sizeof(empSal)/sizeof(empSal[0]); for(int i = 0; i < n; i++) { if (empSal[i] > max) { max = empSal[i]; index = i; } } cout << "The highest salary is "<< max <<" and is earned by " <<empName[index]<<" belonging to "<<empDept[index]<<" department"; return 0; }Kết quả
Kết quả chương trình:
The highest salary is 20000 and is earned by Mark belonging to IT department
Trong chương trình, khai báo ba mảng chứa tên, phòng ban, lương nhân viên:
string empName [ ] = {"Harry", "Sally", "Mark", "Frank", "Judy" }; string empDept [ ] = {"IT", "Sales", "IT", "HR", "Sales"}; int empSal[ ] = {10000, 5000, 20000, 12000, 5000 };Tìm lương cao nhất bằng vòng lặp for lưu vào max. Chỉ số chứa lương cao nhất lưu vào index:
int n = sizeof(empSal)/sizeof(empSal[0]); for(int i = 0; i < n; i++) { if (empSal[i] > max) { max = empSal[i]; index = i; } }Cuối cùng hiển thị lương cao nhất và tên, phòng ban tương ứng:
cout << "The highest salary is "<< max <<" and is earned by "<<empName[index]<<" belonging to "<<empDept[index]<<" department";