#include<iostream> #include<vector> #include<ctime> #include<algorithm> #include"Queen.h" using namespace std; std::vector<int> CreatRandomPrice(int min, int max, int num) { std::vector<int> price; if (max - min + 1 < num) { return price; } srand(time(0)); for (auto i{ 0 }; i < num; i++) { while (true) { auto temp{ rand() % (max + 1 - min) + min }; auto iter{ find(price.begin(),price.end(),temp) }; if (price.end() == iter) { price.push_back(temp); break; } } } return price; } int main() { Queue<double,24> queue; auto rand = CreatRandomPrice(100, 999, 168); double sum = 0, average; for (int i = 0; i < 168; i++) { if (!queue.isFull()) { queue.insert(rand[i]); sum += rand[i]; average = sum / (i + 1); } else { sum = sum - queue.getFront() + rand[i]; average = sum / 24; queue.remove(); queue.insert(rand[i]); } cout << "当前价格: " << rand[i] << ", 最近24小时商品平均价格: " << average << endl; } return 0; }
时间: 2024-04-27 18:22:38 浏览: 142
#include <iostream> #include<iomanip> using namespace std;九九乘法表
这是一段 C++ 代码,使用了 STL 中的 vector 和 algorithm 库。它定义了一个 CreatRandomPrice 函数,用于生成一组在 min 和 max 之间的不重复的 num 个随机数。然后,它定义了一个 Queue 类,用于实现一个循环队列,队列的最大大小为 24。接着,在 main 函数中,它使用 CreatRandomPrice 函数生成 168 个随机数,并将它们插入到 Queue 对象中。当队列还未满时,直接插入并计算平均值;当队列已满时,先移除队首元素,再插入新元素并计算平均值,并输出当前价格以及最近 24 小时的平均价格。
阅读全文