Bài giảng Tin học đại cương - Bài 6: Giới thiệu mảng một và hai chiều - Đinh Phú Hùng

pdf 18 trang ngocly 3150
Bạn đang xem tài liệu "Bài giảng Tin học đại cương - Bài 6: Giới thiệu mảng một và hai chiều - Đinh Phú Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_bai_6_gioi_thieu_mang_mot_va_hai.pdf

Nội dung text: Bài giảng Tin học đại cương - Bài 6: Giới thiệu mảng một và hai chiều - Đinh Phú Hùng

  1. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học TIN HỌC ĐẠI CƯƠNG BÀI 6: GIỚI THIỆU MẢNG MỘT VÀ HAI CHIỀU Giảng Viên: ThS. Đinh Phú Hùng Bộ môn: Khoa Học Máy Tính Email: hungdp@tlu.edu.vn 1 / 18
  2. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Nội Dung 1 Đặt vấn đề 2 Giới thiệu về mảng một chiều 3 Nhập dữ liệu và in dữ liệu cho mảng một chiều 4 Giới thiệu về mảng hai chiều 5 Cách nhập và in dữ liệu mảng hai chiều 6 Tóm tắt nội dung bài học 2 / 18
  3. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Đặt vấn đề Xét ví dụ sau: Tính tổng của 100 số nguyên nhập từ bàn phím. Nhận xét: Chương trình sẽ có thể sẽ rất dài vì cần khai báo 100 biến kiểu số nguyên. Nếu đầu bài yêu cầu tính tổng của vài nghìn số hay một số yêu cầu khác như sắp xếp, tính trung bình cộng thì cách này sẽ không khả thi. Như vậy cần thiết phải có cấu trúc giúp ta thực hiện việc này đơn giản hơn. 3 / 18
  4. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Giới thiệu về mảng một chiều Định nghĩa: Mảng là một tập hợp các phần tử có cùng kiểu dữ liệu. Cách khai báo mảng Tên mảng [Số phần tử tối đa] Trong đó: Kiểu dữ liệu: Là các kiểu quy định trong c++, ví dụ như int, float, double Tên mảng: Là một dãy kí tự liền nhau và không có dấu cách, không chứa các kí tự đặc biệt. Số phần tử tối đa: Là một số nguyên dương. 4 / 18
  5. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Giới thiệu về mảng một chiều Ví dụ: int M[10]; Khai báo mảng một chiều tên M gồm 10 phần tử kiểu số nguyên. Chỉ số của mảng bắt đầu từ 0, kết thúc là 9. Phần tử bắt đầu là M[0], kết thúc là M[9]. 5 / 18
  6. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Nhập dữ liệu cho mảng một chiều Cách thực hiện: Để nhập dữ liệu cho mảng một chiều ta nhập dữ liệu cho từng phần tử của mảng. Nhập dữ liệu cho phần tử thứ i ta thực hiện câu lệnh cin»M[i] Sử dụng cấu trúc vòng lặp Câu lệnh minh họa for (int i = 0; i<n; i++) //Giả sử cần nhập dữ liệu cho n phần tử { cin»M[i]; //Nhập dữ liệu cho phần tử thứ i của mảng } 6 / 18
  7. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Nhập dữ liệu cho mảng một chiều Ví dụ 1: Khai báo mảng và nhập dữ liệu cho mảng một chiều Câu lệnh minh họa #include using namespace std; main() { int M[100]; //Khai báo mảng gồm 100 phần tử (số nguyên) int n; cin»n; //Nhập số phần tử thực tế cần dùng for (int i = 0; i< n; i++) { cout«"Nhập phần tử M["«i«"]"; cin»M[i]; } } 7 / 18
  8. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học In dữ liệu cho mảng một chiều Cách thực hiện: Để in dữ liệu cho mảng một chiều ta in dữ liệu cho từng phần tử của mảng. Để in dữ liệu cho phần tử thứ i ta thực hiện câu lệnh cout«M[i]. Có thể thực hiện cách in trên 1 dòng (mỗi phần tử cách nhau 1 khoảng trắng) hay cột (mỗi phần tử trên 1 dòng) Sử dụng cấu trúc vòng lặp Câu lệnh minh họa for (int i = 0; i<n; i++) //Giả sử cần nhập dữ liệu cho n phần tử { cout«M[i]«" "; //in theo dòng cout«M[i]«endl;//in theo cột } 8 / 18
  9. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Một số bài toán trên mảng một chiều Tính tổng các phần tử của mảng. Tính tổng các phần tử của mảng thỏa mãn điều kiện nào đó (chẵn, lẻ, chia k dư m). Tính trung bình cộng các phần tử của mảng thỏa mãn điều kiện nào đó (chẵn, lẻ, chia k dư m). Tìm kiếm các phần tử của mảng thỏa mãn điều kiện nào đó (bằng số k cho trước). Sắp xếp các phần tử của mảng (tăng dần, giảm dần). Kiểm tra các tính chất của mảng (toàn chẵn, lẻ, hay đối xứng ). Tìm phần tử lớn nhất, nhỏ nhất trên mảng cùng với vị trí tương ứng. 9 / 18
  10. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Giới thiệu về mảng hai chiều Định nghĩa: Là tập hợp các phần tử có cùng kiểu dữ liệu được tổ chức dưới dạng bảng. Hay hiểu một cách đơn giản là một mảng mà mỗi phần tử của nó là một mảng 1 chiều. Minh họa mảng hai chiều: M[0][0] M[0][1] M[0][2] M[0][3] M[1][0] M[1][1] M[1][2] M[1][3] M[2][0] M[2][1] M[2][2] M[2][3] M[3][0] M[3][1] M[3][2] M[3][3] 10 / 18
  11. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Giới thiệu về mảng hai chiều Cách khai báo mảng hai chiều Tên mảng [Số hàng tối đa][Số cột tối đa] Trong đó: Kiểu dữ liệu: Là các kiểu quy định trong c++, ví dụ như int, float, double Tên mảng: Là một dãy kí tự liền nhau và không có dấu cách, không chứa các kí tự đặc biệt. Số hàng tối đa: Là một số nguyên dương. Số cột tối đa: Là một số nguyên dương. 11 / 18
  12. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Giới thiệu về mảng hai chiều Ví dụ: int M[4][4]; Khai báo mảng hai chiều tên M gồm 4x4 phần tử kiểu số nguyên. Chỉ số theo hàng bắt đầu từ 0, kết thúc là 3. Chỉ số theo cột bắt đầu từ 0, kết thúc là 3. Phần tử của mảng bắt đầu từ M[0][0], kết thúc là M[3][3]. M[0][0] M[0][1] M[0][2] M[0][3] M[1][0] M[1][1] M[1][2] M[1][3] M[2][0] M[2][1] M[2][2] M[2][3] M[3][0] M[3][1] M[3][2] M[3][3] 12 / 18
  13. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Cách nhập dữ liệu cho mảng hai chiều Cách thực hiện: Để nhập dữ liệu cho mảng hai chiều ta nhập dữ liệu cho từng phần tử của mảng. Nhập dữ liệu cho phần tử ở vị trí hàng thứ i, cột thứ j ta thực hiện câu lệnh cin»M[i][j]. Sử dụng hai cấu trúc vòng lặp lồng nhau, một vòng lặp chạy theo hàng i, một vòng lặp chạy theo cột j. 13 / 18
  14. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Cách nhập dữ liệu cho mảng hai chiều Ví dụ 2: Khai báo mảng hai chiều và nhập dữ liệu cho mảng Câu lệnh minh họa #include using namespace std; main() { int M[100][100]; //Khai báo mảng kích thước 100x100 int m, n; cin»m»n; //Nhập số phần tử thực tế cần dùng for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cout«"Nhap phần tử M["«i«"]["«j«"]"; cin»M[i][j]; } } } 14 / 18
  15. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Cách in dữ liệu cho mảng hai chiều Cách thực hiện: Để in dữ liệu cho mảng hai chiều ta in dữ liệu cho từng phần tử của mảng. In dữ liệu của phần tử ở vị trí hàng thứ i, cột thứ j ta thực hiện câu lệnh cout«M[i][j]. Sử dụng hai cấu trúc vòng lặp lồng nhau, một vòng lặp chạy theo hàng i, một vòng lặp chạy theo cột j. 15 / 18
  16. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Cách in dữ liệu cho mảng hai chiều Ví dụ 3: In dữ liệu cho mảng hai chiều Câu lệnh minh họa #include using namespace std; main() { //Sau khi đã nhập xong dữ liệu cho mảng hai chiều for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cout« M[i][j] « " "; } cout«endl; } } 16 / 18
  17. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Một số bài toán trên mảng hai chiều Tính trung bình cộng các phần tử trên đường chéo chính, đường chéo phụ. Tìm phần tử có giá trị lớn nhất, nhỏ nhất trên đường chéo chính, đường chéo phụ. 17 / 18
  18. Đặt vấn đề Giới thiệu về mảng một chiều Nhập dữ liệu và in dữ liệu cho mảng một chiều Giới thiệu về mảng hai chiều Cách nhập và in dữ liệu mảng hai chiều Tóm tắt nội dung bài học Tóm tắt nội dung bài học Mảng một chiều: Cách khai báo mảng một chiều. Cách nhập và in dữ liệu của mảng một chiều. Một số bài toán trên mảng một chiều Mảng hai chiều: Cách khai báo mảng hai chiều. Cách nhập và in dữ liệu của mảng hai chiều. Một số bài toán trên mảng hai chiều 18 / 18