Bài giảng kỹ thuật lập trình mảng

46 3 0
Bài giảng kỹ thuật lập trình mảng

Đ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

KỸ THUẬT LẬP TRÌNH Lecturer: Phan Hồ Duy Phương Mekong University Nhập Mơn Lập Trình – Mekong University Nội dung Giới thiệu Biểu diễn liệu máy tính Ngơn ngữ lập trình C# Lập trình hàm Mảng Thuật tốn Nhập Mơn Lập Trình – Mekong University Mảng Giới thiệu Khai báo mảng Duyệt mảng Các tốn mảng Nhập Mơn Lập Trình – Mekong University Mảng Giới thiệu Khai báo mảng Duyệt mảng Các toán mảng Nhập Mơn Lập Trình – Mekong University 5.1 Giới thiệu VD: Viết chương trình nhập vào 10 số nguyên, xuất tổng số nguyên void main() { int n1,n2,n3,…,n10; C.Write(“Nhap gia tri \n”); Console.Read(n1); …// lệnh nhập n2 n10 C.Write(“Tong:{0}”,n1+n2+…+n10) ; } Nhập Mơn Lập Trình – Mekong University 5.1 Giới thiệu o Yêu cầu thêm: nhập 100, 1000 số o Cần lưu trữ n số nguyên => không thực oCần xếp n số nguyên => không thực => Các kiểu liệu sở chưa đáp ứng việc lưu trữ truy xuất Giải pháp: Kiểu liệu cho phép lưu trữ dãy số nguyên dễ dàng truy xuất Nhập Mơn Lập Trình – Mekong University 5.1 Giới thiệu KIỂU DỮ LIỆU MẢNG (Array) oLà kiểu liệu có cấu trúc người lập trình định nghĩa oBiểu diễn dãy biến có kiểu VD: dãy số nguyên, dãy ký tự… oKích thước xác định khai báo không thay đổi oNgôn ngữ C cấp phát khối nhớ liên tục cho biến kiểu mảng Nhập Mơn Lập Trình – Mekong University Mảng Giới thiệu Khai báo mảng Duyệt mảng Các tốn mảng Nhập Mơn Lập Trình – Mekong University 5.2 Khai báo Mảng KHAI BÁO MẢNG Khai báo tường minh: [ ] = new []; Lưu ý: oPhải xác định cụ thể (hằng) khai báo oBộ nhớ sử dụng = * sizeof() oMột dãy liên tục có số từ đến Nhập Môn Lập Trình – Mekong University 5.2 Khai báo Mảng KHAI BÁO MẢNG VD: Giá trị nhớ vị trí i: A[i] A int[] A= new int[10]; Ô nhớ có kích cỡ sizeof(int) Chỉ số phần tử Nhập Môn Lập Trình – Mekong University 10 5.5 Mảng chiều KHAI BÁO MẢNG CHIỀU – MA TRẬN m x n [,] = new [ ,]; M1 N: Số lượng phần tử chiều Lưu ý: oPhải xác định cụ thể (hằng) khai báo oBộ nhớ sử dụng = M*N * sizeof() oMột dãy nhớ liên tục có số từ [0,0] đến [M - 1, N 1] oCó thể khai báo tường minh không tường minh mảng chiều Nhập Mơn Lập Trình – Mekong University 32 5.5 Mảng chiều KHAI BÁO MẢNG CHIỀU VD: int[,] A = new int[3,4]; Giá trị ô nhớ dòng i, cột j: A[i,j] Chỉ số CỘT A Ơ nhớ có kích cỡ sizeof(int) Nhập Mơn Lập Trình – Mekong University Chỉ số DÒNG 33 5.5 Mảng chiều KHAI BÁO MẢNG CHIỀU – MA TRẬN m x n Khởi tạo giá trị: oVD: int[,] A { {1, {3, {5, }; = 2}, 4}, 6} string[,] B = { {“Mekong”, “Uni”}, {“IT”, “Class”}, {“Vinh Long”, “City”} }; Nhập Mơn Lập Trình – Mekong University 34 5.5 Mảng chiều TRUY XUẤT PHẦN TỬ MẢNG CHIỀU Thông qua số: [,] oVD: int[] a = new int[4,5]; Console.Write(a[0,1]); Console.Write(a[3,2]); oKhông hợp lệ: a[4,0], a[5,5], a[-1,0] Nhập Mơn Lập Trình – Mekong University 35 5.5 Mảng chiều NHẬP – XUẤT GIÁ TRỊ MẢNG CHIỀU oNhập mảng: int[] a = new int[5,7]; for(int i = 0; i < 5; i++) { for(int j = 0; j < 7; j++) { Console.Write(“Nhap pt [{0},{1}]:”,i,j); Console.Read(a[i,j]); } } Nhập Mơn Lập Trình – Mekong University 36 5.5 Mảng chiều NHẬP – XUẤT GIÁ TRỊ MẢNG CHIỀU oXuất mảng: for(int i = 0; i < 5; i++) { Console.Write(“Dong thu {0}”,i); for(int j = 0; j < 7; j++) { Console.Write(a[i,j]); } } Nhập Mơn Lập Trình – Mekong University 37 5.5 Mảng chiều PHÂN LOẠI MA TRẬN An Am,n … n-1 0 m-1 n-1 Nhập Mơn Lập Trình – Mekong University … n-1 38 5.5 Mảng chiều MA TRẬN VNG – Đường chéo 0 An 1 … n-1 A[0,0] A[1,1] A[2,2] n-1 Nhập Môn Lập Trình – Mekong University A[n-1, n-1] - Dịng = Cột - A[i, j] với i = j - Các phần tử nằm đường chéo VD: A[0,0]; A[1,1] A[3,3]; 39 5.5 Mảng chiều MA TRẬN VUÔNG … An n-1 Dòng > Cột - Các phần tử phía đường chéo VD: n = A[1,0]; A[2,1] A[3,2]; n-1 Nhập Mơn Lập Trình – Mekong University 40 5.5 Mảng chiều MA TRẬN VUÔNG … An n-1 Dòng < Cột - Các phần tử phía đường chéo VD: n = A[0,1]; A[1,2] A[2,3]; n-1 Nhập Môn Lập Trình – Mekong University 41 5.5 Mảng chiều MA TRẬN VUÔNG – Đường chéo phụ … An n-1 Dòng + Cột = n-1 - Các phần tử đường chéo phụ VD: n = A[0,3]; A[1,2] A[3,0]; n-1 Nhập Mơn Lập Trình – Mekong University 42 5.5 Mảng chiều MA TRẬN VUÔNG … An n-1 Dòng + Cột > n-1 - Các phần tử phía đường chéo phụ VD: n = A[1,3]; A[2,2] A[3,3]; n-1 Nhập Môn Lập Trình – Mekong University 43 5.5 Mảng chiều MA TRẬN VUÔNG … An n-1 Dịng + Cột < n-1 - Các phần tử phía đường chéo phụ VD: n = A[1,1]; A[1,0] A[0,2]; n-1 Nhập Mơn Lập Trình – Mekong University 44 Bài tập Mảng thưa (Jagged Array) gì? Khai báo sử dụng Nhập Mơn Lập Trình – Mekong University 45 Bài tập Viết chương trình nhập vào ma trận số nguyên có n x n phần tử Yêu cầu: o Xuất phần tử ma trận o Xuất tổng phần tử đường chéo chính, phụ o Tìm phần tử lớn nửa phía đường chéo Nhập Mơn Lập Trình – Mekong University 46

Ngày đăng: 23/12/2023, 10:15

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

Tài liệu liên quan