Bài giảng Kỹ thuật lập trình: Mảng hai chiều - ThS. Lê Thị Ngọc Hạnh
Số trang: 33
Loại file: pdf
Dung lượng: 579.42 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Kỹ thuật lập trình về mảng hai chiều cung cấp cho người học những kiến thức như: Khái niệm mảng hai chiều, khai báo mảng hai chiều, truy xuất dữ liệu kiểu mảng, một số bài toán trên mảng 2 chiều. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Mảng hai chiều - ThS. Lê Thị Ngọc HạnhKỸ THUẬT LẬP TRÌNH 1 Mảng hai chiều Trường Đại học Phan Thiết Khoa Công nghệ thông tin GV: Ths.Lê Thị Ngọc Hạnh Email: ngochanh@upt.edu.vn 3/6/2015 Nội dung 21 Khái niệm2 Khai báo3 Truy xuất dữ liệu kiểu mảng4 Một số bài toán trên mảng 2 chiều 3/6/2015 Ma Trận 3 0 1 … n-1 0 … n-1 0 0Am,n An … … m-1 n-1 3/6/2015 Ma Trận 4 0 … n-1 0 … n-1 0 … n-1 0 0 0An … … … n-1 n-1 n-1 dòng = cột dòng > cột dòng < cột 0 … n-1 0 … n-1 0 … n-1 0 0 0An … … … n-1 n-1 n-1 dòng + cột = n-1 dòng + cột > n-1 dòng + cột < n-1 3/6/2015 Khai báo kiểu mảng 2 chiều 5 Cú pháp typedef [][]; N1, N2: số lượng phần tử mỗi chiều Ví dụ typedef int MaTran[3][4]; 0 1 2 3 0 Kiểu MaTran 1 2 3/6/2015 Khai báo biến mảng 2 chiều 6 Cú pháp Tường minh [][]; Không tường minh (thông qua kiểu) typedef [][]; ; , ; 3/6/2015 Khai báo biến mảng 2 chiều 7 Ví dụ Tường minh int a[10][20], b[10][20]; int c[5][10]; int d[10][20]; Không tường minh (thông qua kiểu) typedef int MaTran10x20[10][20]; typedef int MaTran5x10[5][10]; MaTran10x20 a, b; MaTran11x11 c; MaTran10x20 d; 3/6/2015 Truy xuất đến một phần tử 8 Thông qua chỉ số [][] Ví dụ 0 1 2 3 Cho mảng 2 chiều như sau 0 1 Cáca[3][4]; int truy xuất 2 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] 3/6/2015 Gán dữ liệu kiểu mảng 9 Khô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ử = ; //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]; 3/6/2015 Truyền mảng cho hàm 10 Truyền mảng cho hàm Tham số kiểu mảng trong khai báo hàm giống như khai báo biến mảng void NhapMaTran(int a[50][100]); Tham số kiểu mảng truyền cho hàm chính là địa chỉ của phần tử đầu tiên của mảng Có thể bỏ số lượng phần tử chiều thứ 2 hoặc con trỏ. Mảng có thể thay đổi nội dung sau khi thực hiện hàm. void NhapMaTran(int a[][100]); void NhapMaTran(int (*a)[100]); 3/6/2015 Truyền mảng cho hàm 11 Truyền mảng cho hàm Số lượng phần tử thực sự 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); 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); } 3/6/2015 Một số bài toán cơ bản 12 Viết chương trình con thực hiện các yêu cầu sau Nhập mảng Xuất mảng Tìm kiếm một phần tử trong mảng Kiểm t ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Mảng hai chiều - ThS. Lê Thị Ngọc HạnhKỸ THUẬT LẬP TRÌNH 1 Mảng hai chiều Trường Đại học Phan Thiết Khoa Công nghệ thông tin GV: Ths.Lê Thị Ngọc Hạnh Email: ngochanh@upt.edu.vn 3/6/2015 Nội dung 21 Khái niệm2 Khai báo3 Truy xuất dữ liệu kiểu mảng4 Một số bài toán trên mảng 2 chiều 3/6/2015 Ma Trận 3 0 1 … n-1 0 … n-1 0 0Am,n An … … m-1 n-1 3/6/2015 Ma Trận 4 0 … n-1 0 … n-1 0 … n-1 0 0 0An … … … n-1 n-1 n-1 dòng = cột dòng > cột dòng < cột 0 … n-1 0 … n-1 0 … n-1 0 0 0An … … … n-1 n-1 n-1 dòng + cột = n-1 dòng + cột > n-1 dòng + cột < n-1 3/6/2015 Khai báo kiểu mảng 2 chiều 5 Cú pháp typedef [][]; N1, N2: số lượng phần tử mỗi chiều Ví dụ typedef int MaTran[3][4]; 0 1 2 3 0 Kiểu MaTran 1 2 3/6/2015 Khai báo biến mảng 2 chiều 6 Cú pháp Tường minh [][]; Không tường minh (thông qua kiểu) typedef [][]; ; , ; 3/6/2015 Khai báo biến mảng 2 chiều 7 Ví dụ Tường minh int a[10][20], b[10][20]; int c[5][10]; int d[10][20]; Không tường minh (thông qua kiểu) typedef int MaTran10x20[10][20]; typedef int MaTran5x10[5][10]; MaTran10x20 a, b; MaTran11x11 c; MaTran10x20 d; 3/6/2015 Truy xuất đến một phần tử 8 Thông qua chỉ số [][] Ví dụ 0 1 2 3 Cho mảng 2 chiều như sau 0 1 Cáca[3][4]; int truy xuất 2 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] 3/6/2015 Gán dữ liệu kiểu mảng 9 Khô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ử = ; //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]; 3/6/2015 Truyền mảng cho hàm 10 Truyền mảng cho hàm Tham số kiểu mảng trong khai báo hàm giống như khai báo biến mảng void NhapMaTran(int a[50][100]); Tham số kiểu mảng truyền cho hàm chính là địa chỉ của phần tử đầu tiên của mảng Có thể bỏ số lượng phần tử chiều thứ 2 hoặc con trỏ. Mảng có thể thay đổi nội dung sau khi thực hiện hàm. void NhapMaTran(int a[][100]); void NhapMaTran(int (*a)[100]); 3/6/2015 Truyền mảng cho hàm 11 Truyền mảng cho hàm Số lượng phần tử thực sự 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); 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); } 3/6/2015 Một số bài toán cơ bản 12 Viết chương trình con thực hiện các yêu cầu sau Nhập mảng Xuất mảng Tìm kiếm một phần tử trong mảng Kiểm t ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình Mảng hai chiều Khai báo mảng hai chiều Truy xuất dữ liệu kiểu mảng Khai báo biến mảng 2 chiềuGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 251 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 192 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 182 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 151 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 150 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 117 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 103 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0