weixin_44479611
 猪猪
采纳率50%
2020-07-18 22:21

想统计历史数据,有大佬会统计吗

想统计一下历史数据,
比如数列
1
2
4
3
4
5
6
7
8
4
4
3
2
5
7
.
.
.
几千条数据, 当1出现后,后面会出现几,出现了多少次,概率是多少
比如 1出现后,后面2出现了3次 占比4%
数字紧紧限于 1 2 3 4 5 6 7 8 9 0

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • h2763246823 鞠杉 9月前

    稍微尝试写了一下,大概能符合,你所说的功能,望采纳

    #include<iostream>
    #include<vector>
    #include<ctime>
    #include<algorithm>
    using std::cout;
    using std::endl;
    using std::vector;
    
    int main() {
        //此部分为构造包含0~9的数组,并查看
        vector<int> v;          //用于保存数据的数组
        srand((unsigned int)time(NULL));    //设置随机数种子,是数据具有多样性
        for (int i = 0; i < 10; i++) {
            v.push_back(rand() % 10);
        }
        for (auto i : v) {
            cout << i << " ";
        }
        cout << endl;
    
    //关键部分
        auto iter = v.begin();
        while ((iter = find(iter, v.end(), 1)) != v.end()) {
            if (++iter == v.end()) {
                cout << "1出现后,后面无数据";
                break;
            }
            double temp = count(iter, v.end(), *iter);
            cout << "1出现后,后面" << *iter << "出现了" << temp << "次 ,占比" << (temp / v.size()) * 100 << "%" << endl;
        }
    
        return 0;
    }
    
    点赞 评论 复制链接分享