Truy xuất mảng thông qua chỉ số mảng:
<tên mảng>[<chỉ số mảng >]
Ví dụ:
int arrA[10]; arrA [5] = 7;
arrA [15] = 9;//không hợp lệ do chỉ số mảng > số phần tử của mảng
Không được sử dụng phép gán thông thường giữa các mảng mà phải gán trực tiếp giữa các phần tử tương ứng
Ví dụ: #include "iostream" using namespace std; void main() { int arrA[4]={9,8,12,3}; int arrB[4];
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 109
arrB = arrA; cout << endl; system("pause"); }
Kết quả chương trình b|o lỗi
Chương trình trên phải viết lại là:
#include "iostream" using namespace std; void main() { int arrA[4]={9,8,12,3}; int arrB[4]; for(int i = 0; i < 4; i++) { arrB[i] = arrA[i]; } cout << endl; system("pause"); } NHẬP DỮ LIỆU CHO MẢNG 7.3.1| Ví dụ : nhập mảng nguyên
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 110
void nhapMang(int arrA[], int &nSpt)
{
// nhap so phan tu
cout << "nhap so phan tu"; cin >> nSpt;
//nhap tung phan tu mang
for(int i = 0; i < nSpt; i++) { cout << "arrA[" << i <<"] = "; cin >> arrA[i]; } } Hoặc
void nhapMang(int arrA[], int nSpt)
{
//nhap tung phan tu mang
for(int i = 0; i < nSpt; i++) { cout << "arrA[" << i <<"] = "; cin >> arrA[i]; } } XUẤT DỮ LIỆU TỪ MẢNG: 7.3.2| Ví dụ: xuất mảng nguyên
void xuatMang(int arrA[], int nSpt)
{
//xuat tung phan tu mang
for(int i = 0; i < nSpt; i++)
{
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 111
} }
Ví dụ: Chương trình nhập 1 mảng nguyên, xuất mảng đ~ nhập
#include "iostream" #include "iomanip" using namespace std; #define MAX 20
//prototype
void nhapMang(int arrA[], int &nSpt); void xuatMang(int arrA[], int nSpt);
//ham main
void main()
{
int arrM[MAX]; int nSpt;
//nhap mang nguyen
cout << "nhap mang "; nhapMang(arrM, nSpt);
//xuat mang
cout << "\n xuat mang"; xuatMang(arrM, nSpt); cout << endl;
system("pause"); }
//dinh nghia ham
//ham nhap mang so nguyen
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 112
{
// nhap so phan tu
cout << "nhap so phan tu"; cin >> nSpt;
//nhap tung phan tu mang
for (int i = 0; i < nSpt; i++)
{
cout << "arrA[" << i << "] = "; cin >> arrA[i];
} }
//ham xuat mang nguyen
void xuatMang(int arrA[], int nSpt)
{
//xuat tung phan tu mang
for (int i = 0; i < nSpt; i++)
{
cout << setw(5) << arrA[i]; }
}
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 113
TÌM KIẾM TRÊN MẢNG:
7.3.3|
Ý tưởng: để tìm kiếm tên mảng lần lượt so sánh từng phần tử với các giá trị cần tìm Ví dụ: đếm số phần tử = 7 trong mảng sau: i =0 M[0] = 25 Dem =0 i=1 M[1] =9 Dem =0 i=2 M[2] =3 Dem =0 i=3 M[3] =1 Dem =0 i=4 M[4] =6 Dem =0 Kết luận:
Khơng có giá trị 7 trong mảng
Ví dụ: đếm số phần tử = 7 trong mảng sau: i =0 M[0] = 25 Dem =0 i=1 M[1] =7 Dem =1 i=2 M[2] =3 Dem =1 25 9 3 1 6 25 7 3 7 6
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 114 i=3 M[3] =7 Dem =2 i=4 M[4] =6 Dem =2 Kết luận: có 2 phần tử giá trị 7 trong mảng
Hàm ếm số lần xu t hiện của phần tử x trong mảng
int DemSoLanXuatHien(int arrA[], int nSpt, int x)
{
int nDem = 0;
for (int i = 0; i < nSpt; i++)
{ if (arrA[i] == x) { nDem ++; } } return nDem; }
Ví dụ:Chương trình nhập 1 mảng ngun, xuất mảng đ~ nhập, đếm số lần xuất hiện của phần tử có giá trị =5 trong mảng
#include "iostream" #include "iomanip" using namespace std; #define MAX 20
//prototype
void nhapMang(int arrA[], int &nSpt); void xuatMang(int arrA[], int nSpt);
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 115
int demSoLanXuatHien(int arrA[], int nSpt, int x);
//ham main
void main()
{
int arrM[MAX]; int nSpt;
//nhap mang nguyen
cout << "nhap mang "; nhapMang(arrM, nSpt);
//xuat mang
cout << "\n xuat mang"; xuatMang(arrM, nSpt);
//dem so lan xuat hien phan tu co gia tri =5
cout << "\n so lan xuat hien phan tu co gia tri = 5 la "
<< demSoLanXuatHien( arrM, nSpt, 5); cout << endl;
system("pause"); }
//dinh nghia ham
//ham nhap mang so nguyen
void nhapMang(int arrA[], int &nSpt)
{
// nhap so phan tu
cout << "nhap so phan tu: "; cin >> nSpt;
//nhap tung phan tu mang
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 116 { cout << "arrA[" << i << "] = "; cin >> arrA[i]; } }
//ham xuat mang nguyen
void xuatMang(int arrA[], int nSpt)
{
//xuat tung phan tu mang
for (int i = 0; i < nSpt; i++)
{
cout << setw(5) << arrA[i]; }
}
//ham dem so lan xuat hien phan tu co gia tri x
int demSoLanXuatHien(int arrA[], int nSpt, int x)
{
int nDem = 0;
//so sanh tung phan tu mang voi gia tri x
for (int i = 0; i < nSpt; i++)
{ if (arrA[i] == x) { nDem ++; } } return nDem; }
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 117