Xem mẫu

  1. Trườ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 2015
  2. Mục tiêu - Hiểu và cài đặt được mảng - Thao tác được trên mảng M[0] M[1] M[2] M[3] M[4] M[5] M[6] 5 2 9 7 6 0 8 Nhập môn lập trình 2
  3. 1. 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à được tham chiếu bởi một tên chung chính là tên mảng.  Mỗi phần tử của mảng được tham chiếu thông qua chỉ mục (index). Nhập môn lập trình 3
  4. 1. 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 trong cặ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. Nhập môn lập trình 4
  5. 2. Mảng một chiều Khai báo một mảng một chiều  Cú pháp: type arrayName[elements]; − type: kiểu dữ liệu của mỗi phần tử mảng. − elements: số phần tử có trong mảng − arrayName: tên mảng ● Ví dụ: int a[5] a a[0] a[1] a[2] a[3] a[4] Nhập môn lập trình 5
  6. 2. 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 tính theo công thức: Total_size = sizeof(type) * elements Ví dụ: int num[100]; Mảng num có kích thước là: 2bytes * 100 = 200bytes (giả sử int chiếm 2 bytes) Nhập môn lập trình 6
  7. 2. 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
  8. 2. Mảng một chiều Khai báo và khởi tạo mảng một chiều  Cú pháp: type arrayName[]= {value1, value2, ..., valuen};  Lưu ý: − 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 {}, được phân cách nhau bởi dấu phẩy. Nhập môn lập trình 8
  9. 2. Mảng một chiều  Ví dụ: int soChan[] = {2,4,6,8,10}; Mảng soChan có 5 phần tử lần lượt là: soChan[0] có giá trị là 2 soChan[1] có giá trị là 4 ... soChan[4] có giá trị là 10 Nhập môn lập trình 9
  10. 2. Mảng một chiều Ví dụ: Tạo một mảng nguyên a có N phần tử. Mỗi phần tử có giá trị là chỉ mục của nó. In mảng ra màn hình. #include #include #define N 10 void main() { int a[N]; for(int i=0 ; i < N ; i++) a[i] = i ; cout
  11. Ví dụ : Nhập vào một mảng số nguyên sau đó sắp xếp theo thứ tự tăng dần #include #define n 5 int main ( ) { int a [ n ] ; int i , j, t ; for ( i = 0 ; i < n ; i ++)//nhập mảng { cout
  12. Ví dụ: Đổi một số nguyên dương thập phân thành số nhị phân void main() { n=46 2 int i,j=0, n, np[20]; 0 2 n%2 23 coutn; 11 2 1 2 do 1 5 { 1 2 2 2 np[j]= n%2; 0 1 j++; 1 0 n = n/2; }while(n>0); cout
  13. Sử dụng hàm tạo số ngẫu nhiên  C++ cung cấp hàm random để tạo ra các số ngẫu nhiên.  Cú pháp: int random(int n)  Kết quả của hàm là tạo ra các số nguyên ngẫu nhiên từ 0 đến n-1  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 Nhập môn lập trình 13
  14. Ví dụ: tạo mảng ngẫu nhiên và in ra màn hình. #include #include #include #include void main() { randomize(); cout
  15. 3. 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 Nhập môn lập trình 15
  16. 3. 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] Nhập môn lập trình 16
  17. 3. Mảng nhiều chiều 1. Khai báo và khởi tạo mảng hai chiều 2. Cú pháp: type arrayName[][columns] = { {value1,value2,...,valueN}, {value1,value2,...,valueN}, {...}, {value1,value2,...,valueN}}; Nhập môn lập trình 17
  18. 3. 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àng phâ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}}; Nhập môn lập trình 18
  19. #include #include void main() { int a[4][3]; srand(time(NULL)); for(int i=0 ; i
  20. #include #include void main() { int a[][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}, {13,14,15,16}}; int sum=0; for(int i=0 ; i
nguon tai.lieu . vn