JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Untitled Page | JustPaste.app
26 days ago3 views
👨‍💻Programming
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iomanip>

using namespace std;

// Khai báo cấu trúc dữ liệu cho chiếc Quạt
struct Quat {
    string tenHang;
    string mauSac;
    long giaBan;
};

// Hàm so sánh để sắp xếp quạt theo giá tăng dần
bool soSanhGia(Quat a, Quat b) {
    return a.giaBan < b.giaBan;
}

int main() {
    // 1. Khởi tạo dữ liệu
    long p; // Số tiền đang có
    int n;  // Số lượng quạt trong danh sách
    
    cout << "Nhap so tien p ban co (0 < p < 1200000): ";
    cin >> p;
    cout << "Nhap so luong quat n (5 < n < 12): ";
    cin >> n;

    vector<Quat> danhSachQuat(n);

    // Nhập dữ liệu mẫu hoặc nhập từ bàn phím
    // Ở đây mình ví dụ nhập mẫu để bạn dễ chạy thử ngay
    danhSachQuat = {
        {"Panasonic", "Trang", 450000},
        {"Senko", "Xanh", 250000},
        {"Asia", "Xam", 300000},
        {"Mitsubishi", "Den", 800000},
        {"Toshiba", "Trang", 600000},
        {"Lifan", "Do", 200000}
    };
    
    // Nếu n khác số lượng mẫu trên, bạn có thể nhập thêm bằng vòng lặp:
    // for(int i=0; i<n; i++) { ... cin >> ... }

    // 2. Thực hiện chiến lược Tham lam
    // Sắp xếp quạt theo giá từ thấp đến cao
    sort(danhSachQuat.begin(), danhSachQuat.end(), soSanhGia);

    vector<Quat> ketQuaMua;
    long soTienGoc = p;
    int tongSoQuat = 0;

    for (int i = 0; i < n; i++) {
        if (p >= danhSachQuat[i].giaBan) {
            p -= danhSachQuat[i].giaBan; // Trừ tiền
            ketQuaMua.push_back(danhSachQuat[i]); // Thêm vào giỏ hàng
            tongSoQuat++;
        }
    }

    // 3. Hiển thị kết quả
    cout << "\n===========================================" << endl;
    cout << "Voi so tien " << soTienGoc << " VND, ban co the mua toi da " << tongSoQuat << " chiec quat." << endl;
    cout << "Danh sach quat da mua:" << endl;
    cout << left << setw(20) << "Ten Hang" << setw(15) << "Gia Ban" << endl;
    cout << "-------------------------------------------" << endl;
    
    for (const auto& q : ketQuaMua) {
        cout << left << setw(20) << q.tenHang << setw(15) << q.giaBan << " VND" << endl;
    }
    cout << "-------------------------------------------" << endl;
    cout << "So tien con du: " << p << " VND" << endl;
    cout << "===========================================" << endl;

    return 0;
}
← Back to timeline