Bài giảng Nhập môn lập trình - Chương 8: Mảng hai chiều
Yêu cầu
Cho trước ma trận a, kích thước mxn. Tính tổng các phần tử trên:
Dòng d, cột c
Đường chéo chính, đường chéo phụ (ma trận vuông)
Nửa trên/dưới đường chéo chính (ma trận vuông)
Nửa trên/dưới đường chéo phụ (ma trận vuông)
Ý tưởng
Duyệt ma trận và cộng dồn các phần tử có tọa độ (dòng, cột) thỏa yêu cầu.
32 trang |
Chia sẻ: dntpro1256 | Lượt xem: 722 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn lập trình - Chương 8: Mảng hai chiều, để 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 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;}
Các file đính kèm theo tài liệu này:
- nmlt_c08_mang2chieu_5267_1807392.ppt