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

Bài giảng Phương pháp lập trình: Bài 7 - TS. Ngô Hữu Dũng

33 7 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

Tiêu đề Mảng hai chiều
Tác giả TS. Ngô Hữu Dũng
Trường học Trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh
Chuyên ngành Phương pháp lập trình
Thể loại bài giảng
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 33
Dung lượng 1,22 MB

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

Nội dung

Bài giảng Phương pháp lập trình: Bài 7 do TS. Ngô Hữu Dũng biên soạn trình bày các nội dung sau: Khai báo kiểu mảng 2 chiều, truy xuất đến một phần tử, gán dữ liệu kiểu mảng, truyền mảng cho hàm, ...Mời các bạn cùng tham khảo!

Trang 1

Phương pháp lập trình

Mảng hai chiều

TS Ngô Hữu DũngTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH

Trang 2

Nội dung

 Mảng hai chiều

 Vòng lặp lồng nhau

Trang 5

Khai báo kiểu mảng 2 chiều

 N1, N2: số lượng phần tử mỗi chiều

typedef <kiểu cơ sở> <tên kiểu> [ <N1> ][ <N2> ] ;

typedef int MaTran[ 3 ][ 4 ];

0 1 2

Kiểu MaTran

Trang 6

Khai báo biến mảng 2 chiều

 Tường minh

 Không tường minh (thông qua kiểu)

<kiểu cơ sở> <tên biến>[<N1>][<N2>];

typedef <kiểu cơ sở> <tên kiểu> [<N1>][<N2>];

<tên kiểu> <tên biến>;

<tên kiểu> <tên biến 1>, <tên biến 2>;

Trang 7

Khai báo biến mảng 2 chiều

typedef int MaTran10x20 [10][20];

typedef int MaTran5x10 [5][10];

MaTran10x20 a, b;

MaTran11x11 c;

MaTran10x20 d;

Trang 8

 Hợp lệ: a[0][0], a[0][1], …, a[2][2], a[2][3]

 Không hợp lệ: a[-1][0], a[2][4], a[3][3]

<tên biến mảng> [ <giá trị cs1> ][ <giá trị cs2> ]

1 2

Trang 9

Gán dữ liệu kiểu mảng

 Không được sử dụng phép gán thông thường mà phải gán trực tiếp giữa các phần tử

<biến mảng đích> = <biến mảng nguồn>; //sai

<biến mảng đích>[<giá trị cs1>][giá trị cs2] =

Trang 10

 Có thể bỏ số lượng phần tử chiều thứ 2 hoặc con trỏ.

 Mảng có thể thay đổi nội dung sau khi thực hiện hàm

void NhapMaTran( int a[50][100] );

void NhapMaTran( int a[][100] );

void NhapMaTran( int (*a)[100] );

Trang 11

void NhapMaTran(int a[][100], int &m, int &n); void XuatMaTran(int a[][100], int m, int n); void main()

Trang 12

Một số bài toán cơ bản

 Nhập mảng

 Xuất mảng

 Tìm kiếm một phần tử trong mảng

 Kiểm tra tính chất của mảng

 Tính tổng các phần tử trên dòng/cột/toàn ma trận/đường chéo chính/nửa trên/nửa dưới

 Tìm giá trị nhỏ nhất/lớn nhất của mảng

 …

Trang 14

Thủ tục HoanVi & Hàm LaSNT

void HoanVi (int &x, int &y){

int tam = x; x = y; y = tam; }

bool LaSNT (int n){

return true;

return false;

Trang 16

Hàm Nhập Ma Trận

1 void NhapMaTran (int a[][MAXC], int & m, int & n)

2 {

3 printf(“Nhap so dong, so cot cua ma tran: ”);

4 scanf(“%d%d”, &m, &n);

Trang 19

 Duyệt từng phần của ma trận a Nếu phần tử đang xét bằng x

thì trả về có (1), ngược lại trả về không có (0).

Trang 21

Kiểm tra tính chất của mảng

 Cách 2: Đếm số lượng số không phải ngtố của ma trận Nếu

số lượng này bằng 0 thì ma trận toàn ngtố.

 Cách 3: Tìm xem có phần tử nào không phải số ngtố không Nếu có thì ma trận không toàn số ngtố.

Trang 25

 Đường chéo chính, đường chéo phụ (ma trận vuông)

 Nửa trên/dưới đường chéo chính (ma trận vuông)

 Nửa trên/dưới đường chéo phụ (ma trận vuông)

 Duyệt ma trận và cộng dồn các phần tử có tọa độ (dòng, cột) thỏa yêu cầu.

Trang 27

5 for (i=0; i< m ; i++) // Duyệt các dòng

6 tong = tong + a[i][c];

7 return tong;

8 }

Trang 28

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

6 tong = tong + a[i][i];

7 return tong;

8 }

Trang 29

Hàm tính tổng trên đường chéo chính

1 int TongTrenDCChinh (int a[][MAXC], int n)

Trang 30

Hàm tính tổng dưới đường chéo chính

1 int TongTrenDCChinh (int a[][MAXC], int n)

Trang 31

Hàm tính tổng trên đường chéo phụ

1 int TongDCPhu (int a[][MAXC], int n)

2 {

3 int i, tong;

4 tong = 0;

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

6 tong = tong + a[i][n-i-1];

7 return tong;

8 }

Trang 32

 Giả sử giá trị max hiện tại là giá trị phần tử đầu tiên a[0][0]

 Lần lượt kiểm tra các phần tử còn lại để cập nhật max

Ngày đăng: 08/05/2021, 14:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w