.3| TRUY XUẤT MẢNG

Một phần của tài liệu Kỹ thuật lập trình 1 Bậc cao đẳng (Trang 114 - 123)

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

Một phần của tài liệu Kỹ thuật lập trình 1 Bậc cao đẳng (Trang 114 - 123)

Tải bản đầy đủ (PDF)

(126 trang)