Bài giảng Tin đại cương - Bài 13: Tập luyện với kiểu dữ liệu mảng và vector - Trương Xuân Nam
Nội dung buổi trước
Kiểu mảng gốc = dãy các biến
Dãy các số nguyên: int a[100];
Dãy các số thực: double x[50];
Khuôn mẫu (template): kĩ thuật của C++ cho
phép viết mã chung cho nhiều kiểu dữ liệu
Vector: khuôn mẫu xử lý dãy, rất mạnh
Đặt trong thư viện
Khởi tạo, thay đổi kích cỡ một cách uyển chuyển
Sử dụng hệ thống chỉ mục như mảng gốc
Các hàm thành phần hữu ích
Bạn đang xem tài liệu "Bài giảng Tin đại cương - Bài 13: Tập luyện với kiểu dữ liệu mảng và vector - Trương Xuân Nam", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Tin đại cương - Bài 13: Tập luyện với kiểu dữ liệu mảng và vector - Trương Xuân Nam
TIN ĐẠI CƯƠNG BÀI 13: TẬP LUYỆN VỚI KIỂU DỮ LIỆU MẢNG VÀ VECTOR Nội dung buổi trước Kiểu mảng gốc = dãy các biến Dãy các số nguyên: int a[100]; Dãy các số thực: double x[50]; Khuôn mẫu (template): kĩ thuật của C++ cho phép viết mã chung cho nhiều kiểu dữ liệu Vector: khuôn mẫu xử lý dãy, rất mạnh Đặt trong thư viện Khởi tạo, thay đổi kích cỡ một cách uyển chuyển Sử dụng hệ thống chỉ mục như mảng gốc Các hàm thành phần hữu ích TRƯƠNG XUÂN NAM 2 Nội dung 1. Chi tiết về một số hàm thành phần của vector 2. Bài tập về vector Trương Xuân Nam - Khoa CNTT 3 Chi tiết về một số hàm thành phần của vector Phần 1 Trương Xuân Nam - Khoa CNTT 4 Trương Xuân Nam - Khoa CNTT Khai báo, khởi tạo dữ liệu Thư viện: #include Khai báo biến: vector m; // dãy giá trị logic vector a(10); // dãy 10 số nguyên vector b(10, 0.5); // dãy 10 số 0.5 Một vài chú ý khi thao tác biến vector: Nên sử dụng hàm size() để lấy độ dài của dãy Nếu không được chỉ rõ, vector sẽ có độ dài = 0 Rất cẩn thận khi sử dụng cách khai báo thứ 2 Vector có thể khai báo lồng nhau (phức tạp) vector> A(10); 5 Nhập dữ liệu // nhập kích cỡ của dãy trước cout > n; // tạo dãy có đúng n phần tử vector a(n); // nhập từng phần tử từ bàn phím for (int i = 0; i < a.size(); i++) { // in ra lời mời: "A[0] = " cout << "A[" << i << "] = "; // nhập dữ liệu vào vector cin >> a[i]; } Trương Xuân Nam - Khoa CNTT 6 Xuất dữ liệu // in ra dòng thông báo "A =" cout << "A ="; // in ra từng phần tử của vector // mỗi phần từ cách nhau bởi dấu trống for (int i = 0; i < a.size(); i++) { cout << " " << a[i]; } // in xong thì xuống dòng cout << endl; Trương Xuân Nam - Khoa CNTT 7 Hàm thành phần thường dùng Lấy phần tử đầu tiên: v.front() Lấy phần tử cuối cùng: v.back() Lấy phần tử ở vị trí n: v.at(n) ~ v[n] Thêm x vào cuối v: v.push_back(x) Xóa phần tử cuối cùng của v: v.pop_back() Chèn x vào vị trí n: v.insert(v.begin()+n, x) Xóa phần tử thứ n: v.erase(v.begin()+n) Hoán đổi nội dung giữa v và y: v.swap(y) Chỉnh lại cỡ của vector: v.resize(n) TRƯƠNG XUÂN NAM 8 Bài tập về vector Phần 2 Trương Xuân Nam - Khoa CNTT 9 Bài tập về vector 1. Nhập dãy N số thực, tính tổng bình phương các phần tử trong dãy đó. 2. Nhập dãy N số nguyên, tìm số âm có trị tuyệt đối lớn nhất trong dãy. 3. Nhập dãy N số nguyên, tìm phần tử lớn nhất của dãy và đếm xem nó xuất hiện bao nhiêu lần. 4. Nhập dãy A có N số nguyên, giả sử các giá trị nhập vào tăng dần. Nhập tiếp số nguyên X. Cho biết vị trí của X nếu chèn vào dãy A để dãy vẫn tăng dần. TRƯƠNG XUÂN NAM 10 Bài tập về vector 5. Nhập dãy N số nguyên. Kiểm tra xem dãy có phải là tăng dần hay không? 6. Nhập dãy N số nguyên, đếm xem có bao nhiêu số lẻ và bao nhiêu số chẵn trong dãy. 7. Nhập dãy A có n số nguyên, tách A thành hai dãy con, dãy thứ nhất gồm toàn những số âm hoặc những số lớn hơn n, dãy thứ hai gồm những số còn lại. In hai dãy con ra màn hình, sau đó tính và in ra trung bình cộng của dãy có nhiều phần tử hơn. TRƯƠNG XUÂN NAM 11
File đính kèm:
- bai_giang_tin_dai_cuong_bai_13_tap_luyen_voi_kieu_du_lieu_ma.pdf