Môn học Tin đại cương
Lý Anh Tuấn Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin, Trường đại học Thủy Lợi
1
Cấu trúc mảng
Mảng một chiều Khai báo mảng Sử dụng mảng Một số bài toán Mảng hai chiều
Khai báo mảng hai chiều Sử dụng mảng hai chiều Một số bài toán
2
Mảng
Mảng là tập hữu hạn các phần tử có cùng kiểu dữ liệu và chiếm một vùng liên tục trong bộ nhớ
Vị trí tương đối giữa các phần tử trong mảng được
xác định bởi chỉ số
Ví dụ: Mảng a chứa 5 giá trị nguyên kiểu int có thể
được biểu diễn như sau:
3
Khai báo mảng
Khai báo mảng: kiểu_dữ_liệu tên_mảng[số_phần_tử]; Ví dụ:
int a[5]; // khai báo mảng a gồm 5 phần tử số
nguyên có chỉ số từ 0 đến 4
double x[10],y[10]; //khai báo hai mảng thực x,y mỗi mảng gồm 10 phần tử có chỉ số từ 0 đến 9
4
Khai báo mảng
Khi khai báo một mảng, chúng ta có thể gán giá trị ban đầu cho các phần tử của mảng bằng cách đặt các giá trị trong cặp dấu {}
int a[5] = { 16, 2, 77, 40, 12071 }; //hoặc
Ví dụ: int a[] = { 16, 2, 77, 40, 12071 }; các khai báo này tạo ra một mảng như sau:
5
Sử dụng mảng
Có thể thao tác với các phần tử của mảng như thao tác với một biến thông thường Các phần tử của mảng được xác định theo
cách sau:
Tênmảng[chỉ_số] Ví dụ: Các phần tử của mảng a
6
Sử dụng mảng
Ví dụ:
a[0]=75; a[1]=2*a[0];
Có thể viết các lệnh gán: Chỉ số là cũng có thể là một biến nguyên, hoặc
một biểu thức nguyên: i=4; a[i]=5;
a[i/2+1]=17;
7
Sử dụng mảng
cout << "a[" << i << "] = " ; cin >> a[i];
Một số thao tác với mảng:
Nhập dữ liệu cho mảng
cout << "Nhap so phan tu cua day:" ;
cin >> n;
for (i=0; i 8 Tính tổng các phần tử của mảng
Đếm số phần tử dương trong mảng
Tìm phần tử lớn nhất (bé nhất) của mảng, và vị trí xuất hiện của nó Sắp xếp mảng theo chiều tăng dần (giảm dần) 9 // Tính tổng các phần tử của dãy
#include 10 // Đếm số phần tử dương trong dãy
#include 11 // Tìm phần tử bé nhất trong dãy, và vị trí xuất hiện của nó
#include 12 // Sắp xếp dãy theo chiều tăng dần
#include 13 Mảng hai chiều còn gọi là ma trận, là sự mở rộng của mảng một chiều Ví dụ: Mảng hai chiều a gồm 3*5 phần tử có
cùng kiểu dữ liệu có thể biểu diễn như sau 14 Khai báo mảng hai chiều:
kiểu_dữ_liệu tên_mảng[m][n]; m,n là số hàng, số cột của mảng hai chiều
ví dụ: int a[3][5]; //khai báo mảng gồm 3*5
phần tử kiểu nguyên từ a[0][0] đến a[2][4] Các phần tử của mảng hai chiều được xác định theo cách sau: Tênmảng[chỉ_số_hàng][chỉ_số_cột] ví dụ: a[1][3]=6; a[i][j]=15; 15 Một số thao tác với mảng hai chiều: cout << "a[" << i << "][" << j << "] = " ;
cin >> a[i][j]; Nhập dữ liệu cho mảng hai chiều
cout << "Nhap so hang, so cot cua ma tran:" ;
cin >> m >> n;
for (i=0; i 16 In các giá trị của mảng hai chiều ra màn hình cout << "Ma tran da nhap la:" << endl;
for (i=0; i 17 Các bài toán trên mảng hai chiều quy về thực hiện trên mảng một chiều
Thực hiện các tính toán trên một hàng, một cột
hoặc trên đường chéo chính của mảng hai chiều Các bài toán thực hiện tính toán trên toàn bộ mảng hai chiều. Ví dụ:
Tính tổng tất cả các phần tử của mảng hai chiều
Đếm số phần tử dương trong mảng hai chiều
Tìm giá trị lớn nhất (bé nhất), và vị trí xuất hiện của nó trong mảng hai chiều 18 cout << "a[" << i << "][" << j << "] = " ;
cin >> a[i][j]; //Tính trung bình cộng các phần tử trên đường chéo chính của ma trận vuông
#include 19Một số bài toán
Mảng hai chiều
Khai báo mảng hai chiều
Sử dụng mảng hai chiều
Sử dụng mảng hai chiều
Một số bài toán

