Bài tập mảng 1 chiều C++ nâng cao

Lưu ý: Hướng dẫn cách xem và tải tài liệu từ trang cafedev tại đây.

  1. Áp dụng function template để giải các bài tập sau:
  • Tìm min, max giữa 2 phần tử kiểu T [int, float, PhanSo, …].
  • Tìm phần tử dương lớn nhất trong mảng kiểu T [int, float, PhanSo, …].
  • Sắp xếp tăng dần mảng kiểu T [int, float, PhanSo, …].

Tải bài giải 1

2. Có 4 yêu cầu sắp xếp trên một dãy số nguyên như sau:

  • Sắp xếp dãy số nguyên theo thứ tự tăng dần.
  • Sắp xếp dãy số nguyên theo thứ tự giảm dần của gi trị tuyệt đối.
  • Sắp xếp các số nguyên chẳn tăng dần và các số nguyên lẻ giảm dần.
  • Sắp xếp các số nguyên âm giảm dần, các số nguyên dương tăng dần, và các số dương âm xếp trước các số nguyên dương.

Yêu cầu: a. Bạn hãy thiết kế và cài đặt 4 thuật toán sắp xếp trên theo phương pháp lập trình hướng đối tượng để tận dụng tối đa mã nguồn.

b. Nếu phải thay đổi kiểu dữ liệu, bạn hãy tổng quát hóa các thuật toán sắp xếp trên để có thể sắp xếp các dãy số có kiểu dữ liệu bất kì. [sử dụng template


Tải bài giải 2

3. Công ty XYZ quản lý việc mua hàng của 3 loại khách hàng:

  • Loại A: Khách hàng bình thường [gồm x khách hàng]:
    Số tiền khách hàng trả = Số lượng hàng * đơn giá hàng + Thuế VAT [10%]
  • Loại B: Khách hàng thân thiết [gồm y khách hàng]: Phần trăm khuyến mãi = MAX [Số năm thân thiết * 5%, 50%]

    Số tiền khách hàng trả = [Số lượng hàng * đơn giá hàng] * [100% – Phần trăm khuyến mãi] + Thuế VAT [10%]

  • Loại C: Khách hàng đặc biệt [gồm z khách hàng]:
    Số tiền khách hàng trả = [Số lượng hàng * đơn giá hàng] *50% + Thuế VAT [10%]

Viết chương trình thực hiện các yêu cầu sau:

  • Nhập danh sách khách hàng từ file văn bản XYZ.INP. 0< x,y,z

Chủ Đề