1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng phương pháp lập trình chương 6 (tiếp theo)

43 226 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một số thuật tóan thường gặp trên dữ liệu kiểu array... Một số thuật tóan thường gặp trên dữ liệu kiểu array... Một số thuật tóan thường gặp trên dữ liệu kiểu array... Một số thuật tó

Trang 1

CÂU HỎI: Cho biết kết quả thực

thi chương trình sau:

Trang 2

CHƯƠNG 6

KIỂU ARRAY (Tiếp theo)

Trang 3

I. Khai báo biến kiểu array

II. Truy xuất biến array

III. Truyền thông số kiểu array

IV. Sử dụng hàm tạo số ngẫu nhiên

V. Một số thuật tóan trên array

A ARRAY 1 CHIỀU:

Trang 4

Giả sử ta có mảng: int a[100]; int b[20];

Các lời gọi hàm sau đều hợp lệ:

Trang 5

 Thông số kiểu array mặc định truyền dạng

tham biến

Ví dụ 1: Hàm nhập giá trị mảng

void nhap(int a[], int& n)

{ cout<<“nhap so phan tu “;cin>>n;

for (int i=0; i<n; i++)

Trang 6

 Hàm random(n) cho kết quả là một

số ngẫu nhiên có trị 0  n -1.

sau mỗi lần gọi hàm khởi động trình ngẫu nhiên randomize();

viện stdlib.h

IV Sử dụng hàm tạo số ngẫu nhiên

Trang 7

Ví dụ 1: Nhập các phần tử mảng bằng số ngẫu

nhiên 0-99:

void nhap(int a[], int& n)

{ cout<<“nhap so phan tu “;cin>>n;

Trang 8

0 max/min

1 Tính tổng/tích dãy số: Duyệt tòan bộ

mảng, thực hiện cộng hoặc nhân tích

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 9

2 Tìm kiếm: Duyệt mảng cho đến khi tìm thấy.

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 10

Ví dụ 2: Tìm vị trí phần tử cuối cùng của dãy là số

nguyên tố (-1 nếu không tìm thấy)

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 11

int LastPrimeNumber(int a[], int n)

{ int i=n-1;

while (!PrimeNumber(a[i]) && i>=0) i ; return i;

}

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 12

3 Đếm số phần tử theo điều kiện cho

trước: Duyệt tòan bộ mảng, tăng trị biến đếm khi phần tử đang duyệt thỏa điều

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 13

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 14

4 Sắp xếp – Thuật tóan bubble sort:

Mô tả thuật tóan:

 Cuối cùng duyệt 2 phần tử cuối // n-2  n-1

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 15

4 Sắp xếp – Thuật tóan bubble sort:

so sánh a[i] và a[j] đổi chỗ;

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 16

4 Sắp xếp – Thuật tóan bubble sort:

a[i]=a[j];

a[j]=tam;

}}

V Một số thuật tóan thường gặp

trên dữ liệu kiểu array

Trang 17

Định nghĩa: Là kiểu mảng một chiều trong

đó mỗi phần tử có kiểu là kiểu mảng một chiều.

Nội dung:

I. Khai báo và truy xuất phần tử.

II. Truyền thông số kiểu array 2 chiều.

III. Một số thuật tóan trên array 2 chiều.

B ARRAY 2 CHIỀU:

Trang 18

1 Cú pháp khai báo biến:

Ý nghĩa: Khai báo biến TênBiến là dãy có N1 phần

tử, mỗi phần tử là dãy N2 phần tử kiểu

Trang 19

Ví dụ 1: Để lưu điểm của 5 môn, mỗi môn

Trang 20

Lưu ý 1: Người ta thường trình bày mỗi phần tử

của chiều thứ 1 trên một dòng Nên N1 còn gọi là số dòng, N2 là số cột

Ta khai báo biến: int MaTran[3][4];

I Khai báo và truy xuất phần tử

Trang 21

Lưu ý 2 : Các phần tử của biến mảng 2

chiều được cấp phát không gian nhớ liên

Trang 22

2 Truy xuất biến mảng 2 chiều: Phải truy xuất

j là chỉ số chiều thứ hai, hay chỉ số cột

I Khai báo và truy xuất phần tử

cú pháp: TênBiến[i][j]

Trang 24

Ví dụ 2: Nhập dữ liệu cho biến mảng 2c

int T[10][20];

for(int i=0; i<10; i++)

for(int j=0; j<20; j++) { cout<<“Nhập a[“<<i<<“]=“;

cin>>a[i][j];

}

I Khai báo và truy xuất phần tử

Trang 25

}

I Khai báo và truy xuất phần tử

Trang 26

3 Khai báo có khởi động trị:

Trang 27

1 Cách viết thông số hình thức :

 Thông số hình thức kiểu mảng 2 chiều

không cần chỉ ra số dòng, nhưng phải chỉ định số cột.

 Khi gọi hàm, thông số thực phải là

mảng 2 chiều có số cột khai báo giống như thông số hình thức.

Ví dụ: hàm xuất mảng 2 chiều

II Thông số kiểu mảng 2 chiều:

Trang 29

2 Mảng 2 chiều là tham biến:

 Thông số kiểu mảng 2 chiều mặc định

là truyền bằng địa chỉ (tham biến).

Ví dụ: hàm nhập mảng 2 chiều

II Thông số kiểu mảng 2 chiều:

Trang 30

} }

Trang 31

 Là các thuật tóan trên mảng 1 chiều được áp

dụng trên một số phần tử giới hạn hoặc trên tòan mảng 2C Ví dụ:

3 Duyệt đường chéo chính

4 Duyệt đường chéo phụ

5 Duyệt nửa tam giác trên đường chéo phụ

III Một số thuật tóan trên M2C:

Trang 35

cout<<“Cho biết cột cần in: “; cin>>K;

for(int i=0; i<4; i++)

Trang 37

3 Duyệt đường chéo chính: Các phần tử trên

đường chéo chính là các phần tử có chỉ số dòng bằng chỉ số cột.(ma trận vuông)

Ví dụ:

int T[4][4]={ {1,2,3,4},

{5,6,7,8},{4,3,2,1},{8,7,6,5} };

for(int i=0; i<4; i++)

Trang 39

4 Duyệt đường chéo phụ: Các phần tử trên

for(int i=0; i<4; i++)

Trang 41

5 Duyệt đường ½ tam giác trên đường chéo chính:

Các phần tử ở nửa trên đường chéo chính là các phần tử có chỉ số dòng i, chỉ số cột j thỏa i<=j;

Trang 42

III Một số thuật tóan trên M2C:

Trang 43

Ví dụ áp dụng các cách duyệt:

Sắp xếp các phần tử trên đường chéo phụ.

void swap(int&a, int&b)

Ngày đăng: 03/12/2015, 22:28

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm