lap trinh can ban doc

59 351 0
lap trinh can ban doc

Đ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ôn: PHƯƠNG PHÁP LẬP TRÌNH Chương 5: Phần: Dữ liệu có cấu trúc Chương 5: Phần: Lập trình có cấu trúc 2 Nội dung 5.5. Mảng  Khái niệm  Mảng một chiều  Mảng hai chiều  Xâu ký tự 5.6. Kiểu cấu trúc  Các khái niệm  Mảng các cấu trúc Chương 5: Phần: Lập trình có cấu trúc 3 5.5.1. Mảng – Khái niệm  Mảng là kiểu dữ liệu có cấu trúc bao gồm nhiều phần tử cùng kiểu và được đặt liên tiếp liên tiếp trong vùng nhớ.  Mỗi phần tử của mảng được tham chiếu thông qua chỉ mục (index). Nếu mảng có n phần tử thì phần tử đầu tiên có chỉ mục là 0 và phần tử cuối có chỉ mục là n-1. Cách tham chiếu một phần tử là tenmang[chỉ mục].  Mảng có kích thước là số phần tử trong mảng. Kích thước mảng bắt buộc phải là biểu thức hằng nguyên để có thể cấp phát vùng nhớ lúc biên dịch.  Mảng có thể có 1 chiều hay nhiều chiều. Mảng n chiều (n>1) có thể được coi như mảng 1 chiều mà mỗi phần tử là mảng n-1 chiều. Số phần tử của mảng nhiều chiều bằng tích của kích thước các chiều. Chương 5: Phần: Lập trình có cấu trúc 4 5.5.1. Mảng – Khái niệm (tt) Chương 5: Phần: Lập trình có cấu trúc 5 5.5.2. Mảng một chiều  Khai báo: <tên kiểu> <tên mảng>[số phần tử] ; // không khởi tạo <tên kiểu> <tên mảng>[số phần tử] = { dãy giá trị } ; // có khởi tạo <tên kiểu> <tên mảng>[ ] = { dãy giá trị } ; // có khởi tạo Ví dụ: float a[3] , b[3] ; int a[2] = {1, 3} , b[2] = {3, 5} , c[2] ; long L[100] ; char dong[80] ; double Data[] = { 0,0,0,0,0 };  Kích thước (tính bằng byte) của mảng được tính theo công thức: Total_size = sizeof(type) * elements Chương 5: Phần: Lập trình có cấu trúc 6 5.5.2. Mảng một chiều (tt)  Gán giá trị: <tên mảng>[chỉ mục] = giátrị ; Ví dụ: float a[3] , b[3] ; a[0] =5.5; a[1] = 10; a[2] = 150.50; int a[4] = {1, 3, 8, 100} , b[2] = {3, 5} ;  Truy xuất: <tên mảng>[chỉ mục] Ví dụ: int c; int a[3]={5,7,12},b[2]={6,34} c = a[0] + b[1]; Chú ý c = a+b; Chương 5: Phần: Lập trình có cấu trúc 7 5.5.2. Mảng một chiều (tt)  Các thao tác cơ bản trên mảng 1 chiều: • Nhập giá trị cho các phần tử mảng. • Xuất giá trị các phần tử mảng (ra màn hình). • Thêm 1 phần tử vào mảng. • Xóa một phần tử ra khỏi mảng. • Tìm kiếm trên mảng. • Sắp xếp mảng. Chương 5: Phần: Lập trình có cấu trúc 8 5.5.2. Mảng một chiều (tt) 1. Nhập giá trị cho các phần tử mảng.  Giả sử đã khai báo mảng 1 chiều các số nguyên gồm MAX=20 phần tử  Hàm nhập giá trị cho các phần tử mảng từ bàn phím void Input(int a[], int n) { for (int i=0; i<n; i++) { cout << “a[” << i << “] = ”; cin >> a[i]; } } Chương 5: Phần: Lập trình có cấu trúc 9 5.5.2. Mảng một chiều (tt) 1. Nhập giá trị cho các phần tử mảng.  Giả sử đã khai báo mảng 1 chiều các số nguyên gồm MAX=20 phần tử int a[20], n; cout<<“cho biet so phan tu can nhap: “; cin>>n; for (int i=0; i<n; i++) { cout << “a[” << i << “] = ”; cin >> a[i]; } } Chương 5: Phần: Lập trình có cấu trúc 10 5.5.2. Mảng một chiều (tt) Hàm tạo giá trị ngẫu nhiên cho các phần tử mảng trong đoạn [-M… M] void InitArray(int a[], int n) { //hàm khởi động bộ tạo số ngẫu nhiên khai báo //trong <stdlib.h> srand(time(0)); for (int i=0; i<n; i++) a[i] = rand()(2*M+1) – M; } [...]... vào mảng tại vị trí có chỉ số pos thứ tự tương quan ban đầu của các phần tử mảng là không quan trọng void Insert(int a[], int &n, int x, int pos) { a[n] = a[pos]; a[pos] = x; n++; } Chương 5: Phần: Lập trình có cấu trúc 16 5.5.2 Mảng một chiều (tt) 3 Thêm 1 phần tử vào mảng (tt)  Hàm thêm giá trị x vào mảng tại vị trí có chỉ số pos thứ tự tương quan ban đầu của các phần tử mảng là không quan trọng void... a[n] = a[pos]; a[pos] = x; n++; } Chương 5: Phần: Lập trình có cấu trúc 17 5.5.2 Mảng một chiều (tt) 3 Thêm 1 phần tử vào mảng (tt)  Thêm giá trị x vào mảng tại vị trí có chỉ số pos thứ tự tương quan ban đầu của các phần tử mảng không thay đổi for (int i=n; i>pos; i ) a[i] = a[i-1]; a[pos] = x; n++; Chương 5: Phần: Lập trình có cấu trúc 18 5.5.2 Mảng một chiều (tt) 4 Xóa một phần tử ra khỏi mảng  . mảng 1 chiều các số nguyên gồm MAX=20 phần tử int a[20], n; cout<<“cho biet so phan tu can nhap: “; cin>>n; for (int i=0; i<n; i++) { cout << “a[” << i <<. phần tử vào mảng (tt)  Hàm thêm giá trị x vào mảng tại vị trí có chỉ số pos thứ tự tương quan ban đầu của các phần tử mảng là không quan trọng void Insert(int a[], int &n, int x, int pos) { a[n]. phần tử vào mảng (tt)  Hàm thêm giá trị x vào mảng tại vị trí có chỉ số pos thứ tự tương quan ban đầu của các phần tử mảng là không quan trọng void Insert(int a[], int &n, int x, int pos) { a[n]

Ngày đăng: 11/07/2014, 09:20

Mục lục

  • Môn: PHƯƠNG PHÁP LẬP TRÌNH

  • 5.5.1. Mảng – Khái niệm (tt)

  • 5.5.2. Mảng một chiều (tt)

  • 5.5.3. Mảng hai chiều (tt)

  • 5.5.4. Xâu ký tự (tt)

  • 5.6. Kiểu cấu trúc (tt)

Trích đoạn

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

Tài liệu liên quan