Mảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần.
Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục.
47 trang |
Chia sẻ: Mr Hưng | Lượt xem: 945 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Ngôn ngữ lập trình C# - Chương 5: Mảng một chiều, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 5MẢNG MỘT CHIỀU18/12/2013118/12/20132KHÁI NIỆMMảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần.Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục.0123456789Giá trịVị tríVị trí được tính từ 018/12/20133KHAI BÁOint a[100]; //Khai bao mang so nguyen a gom 100 phan tufloat b[50]; //Khai bao mang so thuc b gom 50 phan tuchar str[30]; //Khai bao mang ky tu str gom 30 ky tu [ ] ;Nhằm thuận tiện cho việc viết chương trình, ta nên định nghĩa hằng số MAX ở đầu chương trình – là kích thước tối đa của mảng - như sau:#define MAX 100void main(){ int a[MAX], b[MAX]; //Các lệnh} 18/12/20134KHAI BÁO VÀ GÁN GIÁ TRỊ BAN ĐẦU CHO MẢNGGán từng phần tửint a[5] = {3, 6, 8, 1, 12}; Gán toàn bộ phần tử có cùng giá trịint a[8] = {3}; Giá trị368112Vị trí01234Giá trị33333333Vị trí0123456718/12/20135TRUY XUẤT GIÁ TRỊTênMảng [vị trí cần truy xuất]void main(){ int a[5] = {3, 6, 8, 11, 12}; cout>a[i]; }} 18/12/20138void XuatMang (int a[], int n){ for (int i = 0; i >n; NhapMang (a,n); cout x) cout>a[i];}}void XuatMang(int a[], int n){for(int i=0; i x)cout>n;NhapMang(a, n);cout>x;cout>a[i];}}void XuatMang(int a[], int n){for(int i=0; i>n;NhapMang(a, n);cout max) max = a[i]; } return max;}TÌM PHẦN TỬ XÝ tưởng Lần lượt so sánh x với phần tử thứ nhất, thứ hai, ... của mảng a cho đến khi gặp được phần tử cần tìm, hoặc đã tìm hết mảng mà không thấy xMinh họa tìm x =10Minh họa tìm x =2531Chưa hết mảng751241103213915312345678910751241103213915312345678910101025Chưa hết mảngĐã tìm thấy tại vị trí 5Đã hết mảng18/12/201332(nếu x không xuất hiện trong mảng trả về -1)int TimVTX(int a[], int n, int x){ for (int i = 0; i = 0) return false; } return true;}18/12/201337TÍNH TỔNG, GIÁ TRỊ TRUNG BÌNH CÓ ĐIỀU KIỆNMẫu tính tổng: int TongXXX(int a[], int n){ int s = 0; for (int i = 0; i a[j]) HoanVi(a[i], a[j]); }}void HoanVi(int &a, int &b){ int tam = a; a = b; b = tam;}Chèn phần tử vào mảngCho mảng sau:Hãy trình bày từng bước chèn 111 vào vị trí 3 của mảng12579213801234512570123453821911142Chèn phần tử vào mảngHãy viết hàm chèn phần tử có giá trị x vào vị trí k cho trước trong mảng a kích thước n theo mẫu sau:void ChenX(int a[], int &n, int x, int k);43Bài tập áp dụngHãy viết hàm chèn phần tử có giá trị x vào sau phần tử có giá trị nhỏ nhất có trong mảng a, kích thước n (giả sử mảng không có giá trị trùng nhau)44Xóa phần tử khỏi mảngCho mảng sau:Hãy trình bày từng bước xóa phần tử tại vị trí 3 trong mảng12579213801234512579012345213845Xóa phần tử khỏi mảngHãy viết hàm xóa phần tử tại vị trí k cho trước trong mảng a kích thước n theo mẫu sau: void XoaTaiVTk(int a[], int &n, int k);46Bài tập áp dụngHãy viết hàm xóa phần tử x (nếu có) trong mảng a, kích thước n (giả sử mảng không có giá trị trùng nhau)47
Các file đính kèm theo tài liệu này:
- chuong5_mang1chieu_6353.pptx