Thông tin tài liệu
Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thơng tin Bộ mơn Tin học sở NHẬP MƠN LẬP TRÌNH MẢNG HAI CHIỀU VC & BB Nội dung Khái niệm Khai báo Truy xuất liệu kiểu mảng Một số toán mảng chiều NMLT - Mảng hai chiều VC & BB Ma Trận … n-1 0 m-1 An … … Am,n … n-1 n-1 NMLT - Mảng hai chiều VC & BB Khai báo biến mảng chiều Cú pháp [][]; Ví dụ: int int int int a[10][20], b[10][20]; c[5][10]; d[10][20]; MaTran[3][4]; MaTran NMLT - Mảng hai chiều VC & BB Truy xuất đến phần tử Thông qua số [][] Ví dụ Cho mảng chiều sau int a[3][4]; Các truy xuất • Hợ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 VC & BB Ma Trận … n-1 0 … … n-1 n-1 dòng > cột … n-1 0 dòng < cột … n-1 … n-1 … … … n-1 n-1 n-1 dòng + cột = n-1 … n-1 n-1 dòng = cột An … n-1 … An dòng + cột > n-1 dòng + cột < n-1 NMLT - Mảng hai chiều VC & BB Gán liệu kiểu mảng Không sử dụng phép gán thông thường mà phải gán trực tiếp phần tử = ; //sai [][giá trị cs2] = ; Ví dụ int a[5][10], b[5][10]; b = a; // Sai int i, j; for (i = 0; i < 5; i++) for (j = 0; j < 10; j++) b[i][j] = a[i][j]; NMLT - Mảng hai chiều VC & BB Truyền mảng cho hàm Truyền mảng cho hàm Tham số kiểu mảng khai báo hàm giống khai báo biến mảng void NhapMaTran(int a[50][100]); • Có thể bỏ số lượng phần tử chiều thứ trỏ • Mảng thay đổi nội dung sau thực hàm void NhapMaTran(int a[][100]); NMLT - Mảng hai chiều VC & BB Truyền mảng cho hàm Truyền mảng cho hàm Số lượng phần tử thực truyền qua biến khác void XuatMaTran(int a[50][100], int m, int n); void XuatMaTran(int a[][100], int m, int n); Lời gọi hàm void NhapMaTran(int a[][100], int &m, int &n); void XuatMaTran(int a[][100], int m, int n); void main() { int a[50][100], m, n; NhapMaTran(a, m, n); XuatMaTran(a, m, n); } NMLT - Mảng hai chiều VC & BB Một số toán Viết chương trình thực yêu cầu sau Nhập mảng Xuất mảng Tìm kiếm phần tử mảng Kiểm tra tính chất mảng Tính tổng phần tử dịng/cột/tồn ma trận/đường chéo chính/nửa trên/nửa Tìm giá trị nhỏ nhất/lớn mảng … NMLT - Mảng hai chiều 10 VC & BB Tìm kiếm phần tử Ma Trận Yêu cầu Tìm xem phần tử x có nằm ma trận a kích thước mxn hay không? Ý tưởng Duyệt phần ma trận a Nếu phần tử xét x trả có (1), ngược lại trả khơng có (0) NMLT - Mảng hai chiều 17 VC & BB Hàm Tìm Kiếm int TimKiem(int a[][MAXC], int m, int n, int x) { int i, j; for (i=0; i
Ngày đăng: 22/09/2020, 09:06
Xem thêm: nhập môn lập trình c08 mang2chieu