... a+1 trỏ phần tử đầu hàng thứ hai mảng: phần tử a[0][1], a+i trỏ phần tử đầu hàng thứ i mảng: phần tử a[0][i] 15 Chương - copyright NHP 7.3 Contrỏmảng nhiều chiều (t) 7.3.2 Contrỏmảnghai chiều: ... Tên mảng a biểu thị địa mảng Phép cộng địa : C coi mảnghaichiềumảng (một chiều) mảng, khai báo float a[2][3]; a mảng mà phần tử dãy số thực (một hàng mảng) Vì vậy: a trỏ phần tử thứ mảng: ... gets(xau); cho phép nhập xâu kí tự vào trỏ xau 14 Chương - copyright NHP 7.3 Contrỏmảng nhiều chiều 7.3.1 Phép cộng địa mảnghai chiều: Giả sử ta có mảnghaichiều a[2][3] có phần tử ứng với...
... p biến trỏ – Có thể thực gán: p = a; // Hợp lệ • p trỏ tới nơi a trỏ – Tức tới phần tử mảng a – a = p; // Không hợp lệ • Contrỏmảngtrỏ hằng! DTH INT2202 Biến mảng Contrỏ • Biến mảng int ... học • Contrỏ – Biến trỏ – Quản lý nhớ • Mảng động – Tạo sử dụng – Số học trỏ • Lớp, trỏ, mảng động – Sử dụng trỏ this – Hàm hủy, hàm kiến tạo chép DTH INT2202 Giới thiệu trỏ • Định nghĩa trỏ: ... dụ: double *p; – Khai báo p biến kiểu contrỏ tới double” – Nó lưu giá trị trỏ tới biến double • Không lưu trỏ tới kiểu khác! DTH INT2202 Khai báo biến trỏ • Khai báo biến trỏ kiểu có sẵn –...
... if(strcmp(s,mang[i].ten_tac_gia)==0) XuatSach(mang[i]); } } Kiểu mảngchiều Khai báo mảng chiều: /* Tạo mảngchiều có dòng, cột */ int a[3][5]; 4 5 Truy xuất phần tử mảngchiều Gán giá trị cho phần tử a[0][1] = 6; ... ten_sach[20]; char ten_tac_gia[20]; int nam_xuat_ban; long gia_tien; }SACH; Hướng giải Dùng mảngchiều để chứa n sách Mảng khai báo có kích thước tối đa 25 SACH danh_sach[25]; Hướng giải In hình thông tin ... 6; a[1][2] = 9; scanf(“%d”,&a[0][2]); Lấy giá trị phần tử mảng chiều: x = a[0][0]; printf(“Dong 0, cot 1: %d”, a[0][1]); Ví dụ nhập mảngchiều void NhapMang(int mang[NMAX][NMAX], int *sodong, int...
... nhớ) Contrỏ a luôn trỏ tới phần tử mảng (tức *a a[0]) Mảng động Mảng a[10] gọi mảng tĩnh, nghĩa số phần tử mảng thêm bớt trình chương trình chạy Contrỏmảng a gọi trỏ hằng, địa mà trỏ tới ... mà b trỏ tới giá //trị ô nhớ mà a trỏ tới 0x1234 //Tương đương với lệnh gán d = 0x1234 e = a;/ /Con trỏ e trỏ tới địa mà trỏ a //đang trỏ tới, tức trỏ tới địa //biến c a = &d; / /Con trỏ a trỏ tới ... delete c; delete a; free(b); delete [] d; Mảng động Mảngtrỏ đặc biệt, gọi trỏmảng Khi ta khai báo mảng, ví dụ: int a[10]; thân a trỏmảng Vùng nhớ mà trỏ a quản lý số phần tử * sizeof(int),...
... Kết hợp với khái niệm khác… • Contrỏ hàm – Hàm có tham số kiểu trỏ – Hàm trả kiểu trỏ • Contrỏ lớp – Contrỏtrỏ tới kiểu định nghĩa lớp – Lớp có biến thành viên trỏ • Hàm kiến tạo chép, toán ... =100 px = 0x27ff44 Kết hợp với khái niệm khác • Contrỏ biến đơn – Biến cấp phát động • int * px = new int; • delete px; • px = NULL; • Contrỏmảng – Mảng cấp phát động • int * pa = new int[100]; ... Xem trỏ kiểu liệu trừu tượng px • Dữ liệu • Các phép toán – – – – – Toán t giải tham chiếu * Phép gán Phép toán số học +, -, ++, -Phép toán so sánh Toán t new, delete • Cấp phát động – biến – mảng...
... Chương Mảng, Con Trỏ, Tham Chiếu Mục tiêu Giới thiệu cách sử dụng mảng, trỏ, tham chiếu Nội dung Mảng chiều, nhiều chiều, nhớ tĩnh Con trỏ, tính toán trỏ, nhớ động Contrỏ hàm, ... Chương Mảng Mảng (array) Gồm tập đối tượng kiểu xếp liên tiếp nhớ Mỗi phần tử mảng xác định số biểu thị vị trí phần tử mảng Phần tử mảng có số Số lượng phần tử mảng gọi kích thước mảng ... xác định trước) Gồm mảngchiềumảng đa chiều Chương Biến Mảng Được định nghĩa cách đặc tả kích thước mảng kiểu phần tử Ví dụ: int heights[10]; Truy xuất phần tử qua số mảng Ví dụ: heights[0]=...
... nghĩa str mảng ký tự Kích cỡ mảng tính cách dễ dàng nhờ vào toàn tử sizeof Ví dụ, với mảng ar cho mà kiểu phần tử Type kích cỡ ar là: sizeof(ar) / sizeof(Type) 5.2 Mảng đa chiềuMảng có chiều (nghĩa ... nghĩa trỏtrỏ đến liệu kiểu khác kiểu liệu gốc Contrỏ ép (chuyển kiểu) thành kiểu khác Ví dụ, ptr2 = (char*) ptr1; chuyển trỏ ptr1 thành trỏ char trước gán tới trỏ ptr2 Không quan tâm đến kiểu trỏ ... Chúng ta lấy địa hàm lưu vào trỏ hàm Sau trỏ sử dụng để gọi gián tiếp hàm Ví dụ, int (*Compare)(const char*, const char*); định nghĩa trỏ hàm tên Compare giữ địa hàm nhận haitrỏ ký tự đối số trả...
... Việc tạo trỏ đối tượng không tạo đối tượng, tạo trỏtrỏ đối tượng 73 Chương Mảng, Con trỏ, Tham chiếu • Số học trỏ : + Khi tăng trỏ đối tượng, trỏ đến đối tượng + Khi giảm trỏ đối tượng, trỏ đến ... 75 Mảng, Con trỏ, Tham chiếu Bài tập II Hãy viết lại ví dụ 2.2 chương hiển thò nội dung mảng ob theo thứ tự ngược lại Hãy viết lại ví dụ 1.3 chương để truy cập mảnghaichiều qua trỏ III/ Contrỏ ... Mảng, Con trỏ, Tham chiếu 68 Chương 69 Mảng, Con trỏ, Tham chiếu I/ Mảng đối tượng Các đối tượng biến , có khả thuộc tính biến thông thường khác Do đó, đối tượng tổ chức thành mảng Cú pháp khai...
... nghĩa str mảng ký tự Kích cỡ mảng tính cách dễ dàng nhờ vào toàn tử sizeof Ví dụ, với mảng ar cho mà kiểu phần tử Type kích cỡ ar là: sizeof(ar) / sizeof(Type) 5.2 Mảng đa chiềuMảng có chiều (nghĩa ... nghĩa trỏtrỏ đến liệu kiểu khác kiểu liệu gốc Contrỏ ép (chuyển kiểu) thành kiểu khác Ví dụ, ptr2 = (char*) ptr1; chuyển trỏ ptr1 thành trỏ char trước gán tới trỏ ptr2 Không quan tâm đến kiểu trỏ ... Chúng ta lấy địa hàm lưu vào trỏ hàm Sau trỏ sử dụng để gọi gián tiếp hàm Ví dụ, int (*Compare)(const char*, const char*); định nghĩa trỏ hàm tên Compare giữ địa hàm nhận haitrỏ ký tự đối số trả...
... nghĩa str mảng ký tự Kích cỡ mảng tính cách dễ dàng nhờ vào toàn tử sizeof Ví dụ, với mảng ar cho mà kiểu phần tử Type kích cỡ ar là: sizeof(ar) / sizeof(Type) 5.2 Mảng đa chiềuMảng có chiều (nghĩa ... nghĩa trỏtrỏ đến liệu kiểu khác kiểu liệu gốc Contrỏ ép (chuyển kiểu) thành kiểu khác Ví dụ, ptr2 = (char*) ptr1; chuyển trỏ ptr1 thành trỏ char trước gán tới trỏ ptr2 Không quan tâm đến kiểu trỏ ... Chúng ta lấy địa hàm lưu vào trỏ hàm Sau trỏ sử dụng để gọi gián tiếp hàm Ví dụ, int (*Compare)(const char*, const char*); định nghĩa trỏ hàm tên Compare giữ địa hàm nhận haitrỏ ký tự đối số trả...
... ta có trỏ kiểu float, double, … CONTRỎ KHAI BÁO BIẾN CONTRỎ Contrỏ không kiểu: Cú pháp khai báo: void *tênbiến; Tin học đại cương Ví dụ: void *p, *q; CONTRỎ Tin học đại cương Contrỏ ... QUAN MẢNGVÀCONTRỎ Khi khai báo mảng tên mảng địa chỉ, chứa địa phần tử (phần tử có số 0) Tin học đại cương Như ta nói mảngtrỏ Xét khai báo: int a[5]; *pa=a; trỏ pa giữ địa phần tử mảng ... NỘI DUNG Tin học đại cương CONTRỎVÀ ĐỊA CHỈ NỘI DUNG BÀI CONTRỎVÀ ĐỊA CHỈ Toán tử địa & Contrỏ Qui tắc sử dụng trỏ Tin học đại cương Qui tắc kiểu giá trị khai báo TOÁN TỬ ĐỊA CHỈ ...
... } } 38 Mảng, trỏ xâu ký tự Contrỏmảng chiều- ví dụ tt 39 Mảng, trỏ xâu ký tự Contrỏmảng đa chiều Mảnghaichiều định nghĩa trỏtrỏ tới nhóm mảngchiều liên tiếp Khai báo mảnghaichiều ... chuẩn 18 Mảng, trỏ xâu ký tự MảnghaichiềuMảng đa chiều đơn giản thường dùng mảnghaichiều Mảnghaichiều xem mảng với phần tử mảngchiều Về logic, mảnghaichiều trông giống ... mảnghaichiều Mảng, trỏ xâu ký tự Mục tiêu học Tìm hiểu trỏ sử dụng trỏ Cách sử dụng biến trỏ toán tử trỏ Gán giá trị cho trỏ Phép toán trỏ So sánh trỏ Contrỏmảngchiều Contrỏ mảng...
... tử mảnghaichiều đợc hình dung nh giá trị ô bảng, ô có số dòng số cột Giống nh mảng chiều, tham chiếu phần tử mảnghai chiều, nhng khác chỗ phần tử mảnghaichiều có hai số ( có số nh mảng chiều) ... thành phần khai báo kiểu mảnghaichiều * Nhận biết đợc định danh phần tử mảnghaichiều xuất chơng trình Cách tham chiếu đến phần tử mảnghaichiều * Viết đợc khai báo mảnghaichiều với số ... thực tính tổng phần tử đờng chéo đờng chéo phụ mảnghaichiềumảnghaichiều phải có số cột số hàng (mảng haichiều cấp n x n) {phần khai báo mảnghaichiều } Program mang_2_chieu; type mang=array[1...
... a[i][j]; NMLT - Mảnghaichiề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]); Tham số kiểu mảng truyền ... trả NMLT - Mảnghaichiều 12 VC & BB Thủ tục HoanVi & Hàm LaSNT NMLT - Mảnghaichiều 13 VC & BB Nhập Ma Trận Yêu cầu Cho phép nhập mảng a, m dòng, n cột Ý tưởng Cho trước mảngchiều có ... tử mảng • 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]); void NhapMaTran(int (*a)[100]); NMLT - Mảnghaichiều VC & BB Truyền mảng...
... toán cụ thể, quy ước mảngA[1 M,1 N] mảng lưu liệu ban đầu Mảng B[1 M,1 N] mảng dùngđể quy hoạch Vớinhững toán với liệu đầu vào mảngchiều ta sẽdùng liệu mà không cần xây dựng mảng A Cácbài toán ... đódựa vào nguyên tắc giải chung, ta giải dễ dàng Cácdạng toán tổng quát liệu cho giới hạn khai báo bảnghai chiều giải cách quy hoạch liên tục 2mảng chiều Sau bước quy hoạch phải thay đổi mảng ... để đến dòng thứ M Con kiến theo dòngchia nhỏ sân ứng với dòng bảng chữ nhật theotrên cột sân Hãy đường giúp kiến có đượcnhiều thức ăn FOOD.INP 35 (Trongtất toán đây, dòng đầu hai giátrị M N) FOOD.OUT...
... thêm mảng thủ tục đệ quy Để trả lại giátrị trước cho mảng A, dùng phép gán Nhưng việckhai báo mảng làm tốn không gian nhớ, dễ gây tràn Stack.Song phức tạp trả lại giá trị mà không dùng thêm mảngnày ... để giải bàitoán cách: tìm khả tất ô so sánhvới liệu vào Khi đó, số khả là: 3N*(N-1)/2 (một số lớn) Dưới đâylà chương trình cài đặt cụ thể: Const inp=’INP.TXT’; out=’OUT.TXT’; Max=21; C1:Array[1...
... integer; A[1,3] = 19 Mảnghaichiềumảngchiều mà phần tử lại mảngchiều Khai báo: tên mảng, kiểu số dòng, kiểu số cột, kiểu phần tử Tham chiếu phần tử mảng: Tên biến mảng[ cs dòng,cs cột] ... dụ: A[2,3]= 2 Khai báo mảnghaichiều * Cách 1: Khai báo gián tiếp TYPE < tên kiểu mảng> = array[kiểuchỉ số dòng,kiểu số cột] of ; Var : ; Ví dụ: TYPE ... 20,1 30] of real; Các thao tác xử lí mảnghaichiều Các bước: Nhập số dòng (n) số cột (m) Nhập vào giá trị phần tử mảng (A[i,j]) 3 A a Nhập mảnghaichiều Thể pascal Write( Nhap vao so dong,...
... xuống từ trái qua phải theo phương pháp dùng mảng phụ Hướng dẫn: Đổ ma trận sang mảng chiều, xếp mảngchiều theo thứ tự tăng dần, sau chuyển ngược mảngchiều thành ma trận kết 51 Viết hàm xếp ma ... thị lên hình Ví dụ: 01 25 phút Giáo trình Bài Tập Kỹ Thuật Lập Trình Trang 74 Mảnghaichiều 78 Nhập vào mảnghaichiều gồm n dòng m cột số nguyên Hãy tìm phần tử lớn dòng đồng thời nhỏ cột, lớn ... Trạng thái đích => III KẾT LUẬN Kiểu liệu mảnghaichiều ứng dụng rộng rãi toán tìm đường đồ thị, xử lý ảnh, xử lý liệu dạng bảng, … Lưu ý nhập mảnghaichiều số thực phải thông qua biến trung...