Bài giảng Nhập môn Lập trình C - Chương 8: Mảng hai chiều - Trần Thị Kim Chi

1. Khái niệm 2. Khai báo 3. Truy xuất dữ liệu kiểu mảng 4, Một số bài toàn trên mảng 2 chiều Khai báo kiểu mảng 2 chiều Cú pháp: typedef [][]; N1, N2: số lượng phần tử mỗi chiều Ví dụ

ppt33 trang | Chia sẻ: candy98 | Lượt xem: 417 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn Lập trình C - Chương 8: Mảng hai chiều - Trần Thị Kim Chi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nội dungNMLT - Mảng hai chiềuKhái niệm1Khai báo2Truy xuất dữ liệu kiểu mảng3Một số bài toán trên mảng 2 chiều4Ma TrậnNMLT - Mảng hai chiều0m-101n-1Am,n0n-1An0n-1Ma TrậnNMLT - Mảng hai chiều0n-1An0n-10n-10n-10n-10n-1dòng = cộtdòng > cộtdòng n-1dòng + cột [][];typedef int MaTran[3][4];0120123Kiểu MaTranKhai báo biến mảng 2 chiềuCú phápTường minhKhông tường minh (thông qua kiểu)NMLT - Mảng hai chiều [][];typedef [][]; ; , ;Khai báo biến mảng 2 chiềuVí dụTường minhKhông tường minh (thông qua kiểu)NMLT - Mảng hai chiềuint a[10][20], b[10][20];int c[5][10];int d[10][20];typedef int MaTran10x20[10][20];typedef int MaTran5x10[5][10];MaTran10x20 a, b;MaTran11x11 c;MaTran10x20 d;Truy xuất đến một phần tửThông qua chỉ sốVí dụCho mảng 2 chiều như sauCác truy xuấtHợ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[][]int a[3][4];0120123Gán dữ liệu kiểu mảngKhô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ửVí dụNMLT - Mảng hai chiều = ; //sai[][giá trị cs2] =;int a[5][10], b[5][10];b = a; // Saiint i, j;for (i = 0; i >m>>n; int i, j; for (i=0; i>a[i][j]; }}Xuất Ma TrậnYêu cầuCho phép nhập mảng a, m dòng, n cộtÝ tưởngXuất giá trị từng phần tử của mảng 2 chiều từ dòng có 0 đến dòng m-1, mỗi dòng xuất giá giá trị của cột 0 đến cột n-1 trên dòng đó.NMLT - Mảng hai chiềuHàm Xuất Ma TrậnNMLT - Mảng hai chiềuvoid XuatMaTran(int a[][MAXC], int m, int n){ int i, j; for (i=0; i j) tong = tong + a[i][j]; return tong;}Hàm tính tổng trên đường chéo phụNMLT - Mảng hai chiềuint TongDCPhu(int a[][MAXC], int n){ int i, tong; tong = 0; for (i=0; i max) max = a[i][j]; return max;}Nêu lợi ích của việc dùng mảng.Nêu cách khai báo và khởi tạo giá trị cho biến mảng một chiều, biến mảng hai chiều.Nêu cách truyền tham số mảng cho hàm, cách gọi hàm có tham số mảng.Trình bày các thao tác cơ bản trên kiểu mảng (1 chiều và 2 chiều):− Nhập/Xuất giá trị cho các phần tử mảng− Thêm phần tử mới vào mảng− Xóa một phần tử trong mảng thỏa tiêu chuẩn P nào đó.− Tìm kiếm trên mảng− Sắp xếp mảng.Câu hỏi và bài tập