Mảng hai chiều trong lập trình - Pdf 13

VC
&
BB
11
Nội dung
NMLT - Mảng hai chiều
Khái niệm1
Khai báo2
Truy xuất dữ liệu kiểu mảng3
Một số bài toán trên mảng 2 chiều4
VC
&
BB
22
Ma Trận
NMLT - Mảng hai chiều
0

m-1
0 1 … n-1
A
m,n
0

n-1
A
n
0 … n-1
VC
&
BB


n-1
0 … n-1
dòng + cột = n-1
dòng + cột > n-1 dòng + cột < n-1
VC
&
BB
44
Khai báo kiểu mảng 2 chiều

Cú pháp

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

Ví dụ
NMLT - Mảng hai chiều
typedef <kiểu cơ sở> <tên kiểu>[<N1>][<N2>];
typedef int MaTran[3][4];
0
1
2
0 1 2 3
Kiểu MaTran
VC
&
BB
55
Khai báo biến mảng 2 chiều


VC
&
BB
77
Truy xuất đến một phần tử

Thông qua chỉ số

Ví dụ

Cho mảng 2 chiều như sau

Các truy xuất

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]
NMLT - Mảng hai chiều
<tên biến mảng>[<giá trị cs1>][<giá trị cs2>]
int a[3][4];
0
1
2
0 1 2 3
VC
&
BB
88
Gán dữ liệu kiểu mảng


void NhapMaTran(int a[][100]);
void NhapMaTran(int (*a)[100]);
VC
&
BB
1010
Truyền mảng cho hàm

Truyền mảng cho hàm

Số lượng phần tử thực sự truyền qua biến khác

Lời gọi hàm
NMLT - Mảng hai chiều
void XuatMaTran(int a[50][100], int m, int n);
void XuatMaTran(int a[][100], int m, int n);
void XuatMaTran(int (*a)[100], int m, int n);
void NhapMaTran(int a[][100], int &m, int &n);
void XuatMaTran(int a[][100], int m, int n);
void main()
{
int a[50][100], m, n;
NhapMaTran(a, m, n);
XuatMaTran(a, m, n);
}
VC
&
BB
1111
Một số bài toán cơ bản


Hàm int LaSNT(int n): kiểm tra một số có phải
là số nguyên tố. Trả về 1 nếu n là số nguyên
tố, ngược lại trả về 0.
NMLT - Mảng hai chiều
#define MAXD 50
#define MAXC 100


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status