intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình cơ bản: Bài 6 - TS. Ngô Quốc Việt

Chia sẻ: You Can | Ngày: | Loại File: PDF | Số trang:43

81
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình cơ bản - Bài 6 hướng dẫn người học cách sử dụng mảng trong lập trình. Bài này gồm có hai nội dung chính, đó là: Khai báo và sử dụng mảng một hay hai chiều, khai báo và sử dụng mảng một hay hai chiều. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình cơ bản: Bài 6 - TS. Ngô Quốc Việt

  1. SỬ DỤNG MẢNG LÊ ĐỨC LONG-NGÔ QUỐC VIỆT 2011
  2. NỘI DUNG 1. Khai báo và sử dụng mảng một hay hai chiều  Khai báo mảng một chiều  Thao tác trên dữ liệu mảng một chiều  Khai báo mảng hai chiều  Thao tác trên dữ liệu mảng hai chiều  Dùng mảng làm tham số cho hàm 2. Khai báo và sử dụng chuỗi.  Khai báo chuỗi ký tự  Nhập xuất chuỗi trên bàn phím và màn hình  Một số hàm dùng với chuỗi 3. Bài tập Ngô Quốc Việt-Lập trình cơ bản 2
  3. MẢNG  100 quả trứng, mỗi quả trứng có vai trò, tính chất “gần như nhau” lưu trữ 100 biến ?  1000 số nguyên trong dãy số nguyên  lưu 1000 biến nguyên?  Tính trung bình cộng của một dãy n số (không phải tăng từ 1 đến n)  cần lưu n giá trị  dùng n biến?  Ví dụ: tính trung bình 10 giá trị  Nhập 10 giá trị từ bàn phím, lưu vô n1, n2, n3, n4, n5, n6, n7, n8, n9, n10.  Tính ntb = (n1, n2, n3, n4, n5, n6, n7, n8, n9, n10) /10.0;  Khi n lớn thì sao?  Không thể làm như vậy. Ngô Quốc Việt-Lập trình cơ bản 3
  4. MẢNG  Mảng được dùng để lưu trữ nhiều giá trị cùng kiểu và tham gia vào một vấn đề cụ thể.  Mảng 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.  Để truy xuất thành phần, dùng chỉ số mảng. Ngô Quốc Việt-Lập trình cơ bản 4
  5. Khai báo mảng một chiều < Kiểu > < Tên mảng > [ < Số phần tử tối đa> ] ;  Ví dụ khai báo mảng integer 50 phần tử int iArr[5]; //kiểu integer, tên iArr, số phần tử: 5 Các phần tử của mảng iArr là iArr[0] iArr[1] iArr[2] iArr[3] iArr[4] Chỉ số phần tử mảng iArr[0], iArr[1], ..iArr[4]: là các tên biến sử dụng được.  Ví dụ khai báo mảng float 50 phần tử float fArr[20]; //kiểu float, tên fArr, số lượng: 20 Ngô Quốc Việt-Lập trình cơ bản 5
  6. Sử dụng mảng một chiều  Chương trình khai báo, nhập và in ra mảng 10 phần tử integer #include int main() { int iMyArr[10]; cout
  7. Sử dụng mảng một chiều  Truy xuất các phần tử mảng thông qua chỉ số mảng. int iArr[5]; 0 1 2 3 4 iArr[0] iArr[1] iArr[2]  Chỉ số mảng bắt đầu từ zero.  Phần tử cuối cùng có chỉ số n-1, với n là kích thước mảng Ngô Quốc Việt-Lập trình cơ bản 7
  8. Sử dụng mảng một chiều Ngô Quốc Việt-Lập trình cơ bản 8
  9. Sử dụng mảng một chiều  Khai báo tường minh và gán giá trị  Khai báo không tường minh Ngô Quốc Việt-Lập trình cơ bản 9
  10. Trường hợp với chuỗi - string Ngô Quốc Việt-Lập trình cơ bản 10
  11. Processing an array – NNLT C Lowercase to Uppercase Text Conversion /* read in a line of lowercase text to uppercase */ #include #include #define SIZE 80 void main ( ) { char letter[SIZE]; int count ; /* read in the line */ for (count = 0; count < SIZE; ++count) letter[count] = getchar(); /* display the line in uppercase */ for (count = 0; count < SIZE; ++count) putchar(toupper(letter[count])); } Ngô Quốc Việt-Lập trình cơ bản 11
  12. Sử dụng mảng một chiều Ngô Quốc Việt-Lập trình cơ bản 12
  13. Khởi tạo mảng lúc khai báo  Mục đích: gán giá trị cho phần tử mảng lúc khai báo.  Khởi tạo khi biết rõ mảng cần giá trị nào.  Ví dụ, khai báo mảng chứa các loại tiền có mệnh giá 500, 1000, 2000, 5000, 10000. int iMoneyArr[5] = {500, 1000, 2000, 5000, 10000}’;  Ví dụ, khai báo mảng chứa các giá vé, không cần kích thước. Kích thước mảng xác định bởi số phần tử khởi tạo int iMoneyArr[] = {40000, 50000, 60000, 240000}’; Ngô Quốc Việt-Lập trình cơ bản 13
  14. Ví dụ về mảng  Trả về giá trị lớn nhất trong mảng các số thực #include int main() { const int MAXPHANTU = 20; float fMyArr[MAXPHANTU]; cout
  15. “Xoá” một phần tử ra khỏi mảng  “Xoá”: thật ra là “dồn” các phần tử phía sau phần tử cần xóa lên trên một vị trí.  “Xoá” một phần tử mảng không làm thay đổi kích thước mảng  Duyệt mảng từ trái sang phải . Xuất phát từ vị trí cần xoá tiến hành dời các phần tử về phía trước cho đến khi kết thúc mảng Ngô Quốc Việt-Lập trình cơ bản 15
  16. “Xoá” một phần tử ra khỏi mảng  Ví dụ “xoá” một phần tử tại vị trí cho trước trong mảng void XoaPhanTuMatTai(int iArr[], int &n, int vitri) { if(vitri >= n || vitri < 0) return; for(int i = vitri; i < n-1; i ++) iArr[i] = iArr[i+1]; n = n-1; } Ngô Quốc Việt-Lập trình cơ bản 16
  17. “Thêm” một phần tử vào mảng  “Thêm” một giá trị vào mảng: dời các phần tử về bên phải mảng, chừa ra một chỗ trống để đặt giá trị mới vào  “Thêm” một phần tử mảng không làm thay đổi kích thước mảng void ChenX (int a[], int &n, int X, int vitri) { for (int i = n; i >vitri ; i--) a[i] = a[i-1] ; a[vitri] = X; n++; } Ngô Quốc Việt-Lập trình cơ bản 17
  18. Bài tập luyện tập 1. Viết chương trình nhập vào N (
  19. Bài tập luyện tập 5. Viết hàm tính tổng các phần tử nằm ở vị trí lẻ trong mảng các số nguyên. 6. Viết hàm tính tổng các phần tử nằm ở vị trí nguyên tố trong mảng 7. Viết chương trình nhập M giá trị nguyên vào mảng. Thực hiện xoá ra khỏi mảng các giá trị âm. 8. Viết chương trình xóa phần tử nhỏ nhất ra khỏi mảng. 9. Viết hàm chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng Ngô Quốc Việt-Lập trình cơ bản 19
  20. Sử dụng tham số mảng một chiều  Cho phép chuyển mảng một chiều giữa các hàm  Ví dụ về hàm có tham số dạng mảng //Trả về giá rị max trong mảng //n: số phần tử trong mảng //iArr: mảng input int KiemtraMax(int iArr[], int n) { int iMax = iArr[0]; for(int i = 1; i < n; i ++) if(iMax < iArr[i]) iMax = iArr[i]; return iMax; } Ngô Quốc Việt-Lập trình cơ bản 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2