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

pdf 11 trang yennguyen 4200
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

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:

  • pdfbai_giang_tin_dai_cuong_bai_13_tap_luyen_voi_kieu_du_lieu_ma.pdf