Bài giảng Kỹ thuật lập trình: Bài 8 - Phạm Đình Sắc
Số trang: 17
Loại file: pdf
Dung lượng: 3.17 MB
Lượt xem: 28
Lượt tải: 0
Xem trước 2 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 bài 8: Mảng 2 chiều trình bày nội dung về khai báo kiểu mảng 2 chiều, gán dữ liệu kiểu mảng, truyền mảng cho hàm, hàm nhập ma trận, hàm tính tổng trên cột, hàm tìm max. Tham khảo bài giảng để quá trình học tập và giảng dạy được thuận lợi.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Bài 8 - Phạm Đình Sắc Trường Cao đẳng Kỹ thuật Công nghệ Đồng Nai Khoa Công nghệ thông tin ạ ắ MẢNG HAI CHIỀU & &VCVC BB BB 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 NMLT - Mảng hai chiều & &VCVC BB BB NMLT - Mảng hai chiều & &VCVC BB BB ộ ộ ộ ộ ộ ộ NMLT - Mảng hai chiều & &VCVC BB BB Cú pháp typedef [][]; N1, N2: số lượng phần tử mỗi chiều Ví dụ typedef int MaTran[3][4]; ể NMLT - Mảng hai chiều & &VCVC BB BB Cú pháp Tường minh [][]; Không tường minh (thông qua kiểu) typedef [][]; ; , ; NMLT - Mảng hai chiều & &VCVC BB BB 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; NMLT - Mảng hai chiều & &VCVC BB BB Thông qua chỉ số [][] Ví dụ Cho mảng 2 chiều như 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 & &VCVC BB BB 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ử 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 & &VCVC BB BB 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]); NMLT - Mảng hai chiều & &VCVC BB BB 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); } NMLT - Mảng hai chiều & &VCVC BB BB 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 tra tính chất của mảng Tính tổng các phần tử trên dòng/cột/toàn ma trận/đường chéo chính/nửa trên/nửa dưới Tìm giá trị nhỏ nhất/lớn nhất của mảng … NMLT - Mảng hai chiều & &VCVC BB BB Kiểu dữ liệu #define MAXD 50 #define MAXC 100 Các chương trình con Hàm void HoanVi(int x, int y): hoán vị giá trị của hai số nguyên. Hàm int LaSNT(int n): kiểm tra một số có phải là số nguyên tố. Trả về 1 nếu n là số nguyên tố, ngược lại trả về 0. NMLT - Mảng hai chiều & &VCVC BB BB NMLT - Mảng hai chiều & &VCVC BB BB Yêu cầu Cho phép nhập mảng a, m dòng, n cột ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Bài 8 - Phạm Đình Sắc Trường Cao đẳng Kỹ thuật Công nghệ Đồng Nai Khoa Công nghệ thông tin ạ ắ MẢNG HAI CHIỀU & &VCVC BB BB 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 NMLT - Mảng hai chiều & &VCVC BB BB NMLT - Mảng hai chiều & &VCVC BB BB ộ ộ ộ ộ ộ ộ NMLT - Mảng hai chiều & &VCVC BB BB Cú pháp typedef [][]; N1, N2: số lượng phần tử mỗi chiều Ví dụ typedef int MaTran[3][4]; ể NMLT - Mảng hai chiều & &VCVC BB BB Cú pháp Tường minh [][]; Không tường minh (thông qua kiểu) typedef [][]; ; , ; NMLT - Mảng hai chiều & &VCVC BB BB 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; NMLT - Mảng hai chiều & &VCVC BB BB Thông qua chỉ số [][] Ví dụ Cho mảng 2 chiều như 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 & &VCVC BB BB 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ử 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 & &VCVC BB BB 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]); NMLT - Mảng hai chiều & &VCVC BB BB 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); } NMLT - Mảng hai chiều & &VCVC BB BB 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 tra tính chất của mảng Tính tổng các phần tử trên dòng/cột/toàn ma trận/đường chéo chính/nửa trên/nửa dưới Tìm giá trị nhỏ nhất/lớn nhất của mảng … NMLT - Mảng hai chiều & &VCVC BB BB Kiểu dữ liệu #define MAXD 50 #define MAXC 100 Các chương trình con Hàm void HoanVi(int x, int y): hoán vị giá trị của hai số nguyên. Hàm int LaSNT(int n): kiểm tra một số có phải là số nguyên tố. Trả về 1 nếu n là số nguyên tố, ngược lại trả về 0. NMLT - Mảng hai chiều & &VCVC BB BB NMLT - Mảng hai chiều & &VCVC BB BB Yêu cầu Cho phép nhập mảng a, m dòng, n cộ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 2 chiều Hàm tìm Max Nhập ma trận Truyền mảng cho hàmTài liệu có liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 310 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 251 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 223 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 189 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 160 0 0 -
Bài giảng Lập trình Windows Form với C#: Chương 3 - Lê Thị Ngọc Hạnh
11 trang 157 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 127 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 121 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 115 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 113 0 0