Bài giảng Nhập môn lập trình - Bài 4: Mảng cung cấp các kiến thức giúp người học có thể hiểu và cài đặt được mảng, thao tác được trên mảng. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Trang 1Trường ĐH Khoa Học Tự Nhiên Tp Hồ Chí Minh
TRUNG TÂM TIN HỌC
Nhập môn lập trình
Bài 4- Mảng
Trang 2Mục tiêu
- Hiểu và cài đặt được mảng
- Thao tác được trên mảng
Trang 31 Khái niệm
Mảng là một tập hợp các biến có cùng kiểu dữ
liệu nằm liên tiếp nhau trong bộ nhớ và đượctham chiếu bởi một tên chung chính là tênmảng
Mỗi phần tử của mảng được tham chiếu thông
qua chỉ mục (index)
Trang 41 Khái niệm
Nếu mảng có n phần tử thì phần tử đầu tiên có
chỉ mục là 0 và phần tử cuối có chỉ mục là n-1
Để tham chiếu đến một phần tử ta dùng tên
mảng và chỉ mục của phần tử được đặt trongcặp dấu []
Ví dụ: a[0]
Số phần tử trong mảng được gọi là kích thước
của mảng luôn cố định, phải được xác định trước và không đổi trong suốt quá trình thực
hiện chương trình
Trang 52 Mảng một chiều
Khai báo một mảng một chiều
Cú pháp:
− type: kiểu dữ liệu của mỗi phần tử mảng
Trang 62 Mảng một chiều
Mảng phải được khai báo tường minh
Kích thước (tính bằng byte) của mảng được
Trang 72 Mảng một chiều
Mổi phần tử mảng là một biến thông thường
Ví dụ:
int num[3];
num[0] = 2; //gán 2 cho phần tử num[0]
num[1] = num[0] + 3 //num[1] có giá trị 5
num[2] = num[0] + num[1]; //num[2] có giá trị 7
cout << num[1]; //In ra giá trị 5
Trang 8− Không khai báo kích thước mảng
− Số lượng phần tử trong mảng là số các giá trịđược cung cấp trong cặp dấu ngoặc {}, đượcphân cách nhau bởi dấu phẩy
Trang 9soChan[4] có giá trị là 10
Trang 10cout<< "In mang:\n";
for(int i=0 ; i < N ; i++)
Trang 11Ví dụ : Nhập vào một mảng số nguyên sau đó sắp xếp
for ( i = 0 ; i < n ; i ++ )//xuất mảng
cout<<setw(3)<<a[i];
getch ( );
Trang 12Ví dụ: Đổi một số nguyên dương thập phân thành
np[j]= n%2;
j++;
n = n/2;
}while(n>0);
cout<<“dang nhi phan: ”;
for(i=j-1 ; i>0 ; i )
n=46 2
1
2 5
23
11 1
Trang 13Sử dụng hàm tạo số ngẫu nhiên
C++ cung cấp hàm random để tạo ra các số
Khi sử dụng random ta phải gọi randomize để
khởi tạo chế độ tạo số ngẫu nhiên
Để sử dụng các hàm trên thì trong chương trình
phải khai báo thư viện <stdlib.h>
Trang 14Ví dụ: tạo mảng ngẫu nhiên và in ra màn hình.
cout <<"Tao mang ngẫu nhiên :\n";
for (int i=0; i<n; i++)
a[i]=random(100);
for(int j=0; j<n; j++)
Trang 153 Mảng nhiều chiều
1 C/C++ hỗ trợ mảng nhiều chiều Dạng đơn giản
nhất của mảng nhiều chiều là mảng hai chiều
2 Mảng hai chiều thực chất là mảng của những
mảng một chiều Ta có thể xem mảng hai chiều
là một ma trận gồm các hàng và các cột
Trang 163 Mảng nhiều chiều
Khai báo mảng hai chiều
type arrayName[ rows ][ columns ];
− rows: số hàng
− columns: số cột
Ví dụ: Khai báo mảng số nguyên 3 hàng 4 cột
int a[3][4]
Trang 17{ }, {value1,value2, ,valueN}};
Trang 183 Mảng nhiều chiều
Số phần tử của mỗi hàng phải bằng số cột
Số hàng của khai báo mảng hai chiều để trống
Số hàng của mảng được xác định dựa vào số
hàng trong phần khởi tạo Giá trị các phần tửtrong mỗi hàng được đặt trong cặp {}, các hàngphân cách nhau bằng một dấu phẩy
Ví dụ:
int a[][4] = {{1,2,3,4}, {5,6,7,8},{9,10,11,12}};
Trang 21Thảo luận