IT001 – NHẬP MÔN LẬP TRÌNH Mang 2 chieu

24 1 0
IT001 – NHẬP MÔN LẬP TRÌNH Mang 2 chieu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MẢNG MẢNG MẢNG 2 CHIỀU Nội dung 1 Mảng 2 chiều 2 Các tác vụ trên mảng 2 chiều 3 Chuỗi ký tự 4 Các tác vụ trên chuỗi ký tự 2 6 Mảng 2 chiều 3 6 1 Khai báo mảng 2 chiều 6 2 Chỉ số mảng và truy xuất phần[.]

MẢNG MẢNG CHIỀU Nội dung Mảng chiều Các tác vụ mảng chiều Chuỗi ký tự Các tác vụ chuỗi ký tự Mảng chiều 6.1 Khai báo mảng chiều 6.2 Chỉ số mảng truy xuất phần tử mảng 6.3 Lấy địa phần tử mảng 6.4 Một số khái niệm liên quan: đường chéo chính, đường chéo phụ, nửa trên/nửa đường chéo chính, … 6.5 Truyền mảng cho hàm lời gọi hàm 6.1 Khai báo mảng chiều • Cú pháp: [][]; Trong đó: Kiểu liệu: int, float, char Tên biến mảng: ký tự dãy ký tự viết liền khoảng trắng Dịng, Cột: số lượng phần tử chiều mảng char A[10][20] int Mang2Chieu[3][5] Kiểu liệu: char Kiểu liệu: int Tên biến mảng: A Tên biến mảng: Mang2Chieu Mảng có 10 dịng 20 cột Mảng có dịng cột 6.1 Khai báo mảng chiều int A[2][4] int B[2][2] 1 29 137 32 50 657 97 29 137 32 int C[2][1] 29 5 6.2 Chỉ số mảng chiều Chỉ số mảng giá trị số nguyên int • Chỉ số mảng chiều gồm số dòng số cột • • ≤ số dòng ≤ số dòng mảng - • ≤ số cột ≤ số cột mảng - int A[2][3]; Tên mảng: A 1 2 73 45 11 187 Kiểu liệu phần tử mảng: int Số phần tử tối đa mảng: 2*3=6 phần tử Các số đánh số: Chỉ số dòng: 0, Chỉ số Cột: 0, 1, 6.2 Truy xuất phần tử mảng • Truy xuất phần tử mảng thông qua số [][] int A[2][3] 29 137 50 78 943 Các truy xuất hợp lệ: A[0][0], A[0][1],…, A[1][2], A[1][3] Các truy xuất không hợp lệ: A[-1][0], A[1][4], A[2][0] Giá trị phần tử mảng: A[0][0]=29, A[0][1]=137, A[0][2]=50 A[1][0]=3, A[1][1]=78, A[1][2]=943 6.3 Lấy địa phần tử mảng • Cú pháp: &[][]; int A[2][4] 76 87 40 331 456 23 174 56 Địa phần tử mãng chiều: Địa phần tử dòng thứ 0: &A[0][0], &A[0][1], &A[0][2], &A[0][3] Địa phần tử dòng thứ 1: &A[1][0], &A[1][1], &A[1][2], &A[1][3] 6.4 Một số khái niệm liên quan • Cho ma trận A gồm dịng x cột hình đây: 8 6 9 • Các phần tử nằm đường chéo {3,1,5} • Các phần tử nằm đường chéo phụ {8,1,0} • Các phần tử nằm nửa đường chéo {3,7,8,1,4,5} • Các phần tử nằm nửa đường chéo {3,6,1,0,9,5} 6.5 Truyền mảng cho hàm lời gọi hàm • Tham số kiểu mảng khai báo hàm giống khai báo biến mảng int TinhDCheo(int A[50][50], int n, int m); Tên hàm: TinhDCheo Tham số: kiểu mảng số nguyên A số lượng dòng n, số lượng cột m Giá trị trả về: kiểu số nguyên int void XuatMang(int A[50][50], int n, int m); Tên hàm: XuatMang Tham số: kiểu mảng số nguyên A số lượng dòng n, số lượng cột m Giá trị trả về: Khơng có kiểu trả void 10 6.5 Truyền mảng cho hàm lời gọi hàm • Mảng thay đổi nội dung sau thực hàm • Có thể bỏ số lượng phần tử sử dụng trỏ void NhapMang(int A[][50] , int n, int m); void NhapMang(int (*A)[50], int n, int m); 11 6.5 Truyền mảng cho hàm lời gọi hàm #include #include void nhap(int A[][100], int &N, int &M) void xuat(int A[][100], int N , int M) void SapXep(int A[][100], int N , int M) void main() { int a[100],n,m; nhap(a,n,m); xuat(a,n,m); SapXep (a,n,m); } 12 Các tác vụ mảng chiều 7.1 Nhập mảng 7.2 Xuất mảng 7.3 Tìm kiếm phần tử mảng 7.4 Kiểm tra tính chất mảng 7.5 Đếm số lượng phần tử mảng 7.6 Tính tổng phần tử có giá trị chẵn mảng 7.7 Tính Tổng giá trị phần tử đường chéo 13 7.1 Nhập mảng Yêu cầu: nhập mảng A gồm m dòng n cột void NhapMaTran(int A[][MAXC], int &m, int &n) { printf(“Nhap so dong, so cot cua ma tran: ”); scanf(“%d%d”, &m, &n); int i, j; for (i = 0; i < m; i++) for (j = 0; j < n; j++) { printf(“Nhap A[%d][%d]: ”, i, j); scanf(“%d”, &A[i][j]); } } 14 7.2 Xuất mảng Yêu cầu: xuất mảng A gồm m dòng n cột void XuatMaTran(int A[][MAXC], int m, int n) { int i, j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) printf(“%d ”, A[i][j]); printf(“\n”); } } 15 7.3 Tìm kiếm phần tử mảng 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? int TimKiem(int a[][MAXC], int m, int n, int x) { int i, j; for (i = 0; i < m; i++) for (j = 0; j < n; j++) if (a[i][j] == x) return 1; return 0; } 16 7.4 Kiểm tra tính chất mảng Yêu cầu Cho trước ma trận a kích thước mxn Ma trận a có phải ma trậntồn số chẵn hay khơng? Ý tưởng YT 1: Đếm số lượng số chẵn ma trận Nếu số lượng mxn ma trận tồn chẵn YT 2: Đếm số lượng số chẵn ma trận Nếu số lượng ma trận tồn chẵn YT 3: Tìm xem có phần tử khơng phải số chẵn khơng Nếu có ma trận khơng tồn số chẵn 17 7.4 Kiểm tra tính chất mảng int KiemTra_YT1(int a[][MAXC], int m, int n) { int i, j, dem = 0; for (i = 0; i < m; i++) for (j = 0; j < n; j++) if (LaSNT(a[i][j] == 1) dem++; if (dem == m * n) return 1; return 0; } 18 7.4 Kiểm tra tính chất mảng int KiemTra_YT2(int a[][MAXC], int m, int n) { int i, j, dem = 0; for (i = 0; i < m; i++) for (j = 0; j < n; j++) if (LaSNT(a[i][j] == 0) dem++; if (dem == 0) return 1; return 0; } 19 7.4 Kiểm tra tính chất mảng int KiemTra_YT3(int a[][MAXC], int m, int n) { int i, j, dem = 0; for (i = 0; i < m; i++) for (j = 0; j < n; j++) if (LaSNT(a[i][j] == 0) return 0; return 1; } 20 ... A[10] [20 ] int Mang2 Chieu[ 3][5] Kiểu liệu: char Kiểu liệu: int Tên biến mảng: A Tên biến mảng: Mang2 Chieu Mảng có 10 dịng 20 cột Mảng có dòng cột 6.1 Khai báo mảng chiều int A [2] [4] int B [2] [2] 1 29 ... Mảng có dòng cột 6.1 Khai báo mảng chiều int A [2] [4] int B [2] [2] 1 29 137 32 50 657 97 29 137 32 int C [2] [1] 29 5 6 .2 Chỉ số mảng chiều Chỉ số mảng giá trị số nguyên int • Chỉ số mảng chiều gồm... A [2] [3] 29 137 50 78 943 Các truy xuất hợp lệ: A[0][0], A[0][1],…, A[1] [2] , A[1][3] Các truy xuất không hợp lệ: A[-1][0], A[1][4], A [2] [0] Giá trị phần tử mảng: A[0][0] =29 , A[0][1]=137, A[0] [2] =50

Ngày đăng: 25/02/2023, 14:52

Tài liệu cùng người dùng

Tài liệu liên quan