struct tagStoak
{
float high;
float low;
float close;
float open;
int flag;
int dir;
int no;
};
tagStoak stakData[]
{
{3.5,2.6,3.4,2.8,-1,1,1},
{3.8,2.7,3.3,2.9,0,1,2},
{3.5,2.6,3.4,2.8,-1,1,3},
{3.5,2.6,3.4,2.8,-1,1,4},
{3.5,2.6,3.4,2.8,-1,1,5},
{5.5,3.6,4.4,3.8,1,1,6},
{3.5,2.6,3.4,2.8,-1,1,7},
{3.5,2.6,3.4,2.8,-1,1,8},
{3.5,2.6,3.4,2.8,-1,1,9},
{4.5,3.4,3.4,3.7,1,1,10},
{3.5,2.6,3.4,2.8,-1,1,11},
{3.5,2.6,3.4,2.8,-1,1,12},
{3.5,2.6,3.4,2.8,-1,1,13},
{6.5,4.9,3.4,5.2,1,1,14},
};
困扰已久的c++问题,请问如何写一个函数把flag不为-1的连续三个数组元素取出来,用作比较
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- 麦兜weixinluo 2021-07-27 14:46关注
代码:
#include <stdlib.h> #include <vector> #include <iostream> struct tagStoak { float high; float low; float close; float open; int flag; int dir; int no; }; struct tagStoak stakData[] = { {3.5, 2.6, 3.4, 2.8, -1, 1, 1}, {3.8, 2.7, 3.3, 2.9, 0, 1, 2}, {3.5, 2.6, 3.4, 2.8, -1, 1, 3}, {3.5, 2.6, 3.4, 2.8, -1, 1, 4}, {3.5, 2.6, 3.4, 2.8, -1, 1, 5}, {5.5, 3.6, 4.4, 3.8, 1, 1, 6}, {3.5, 2.6, 3.4, 2.8, -1, 1, 7}, {3.5, 2.6, 3.4, 2.8, -1, 1, 8}, {3.5, 2.6, 3.4, 2.8, -1, 1, 9}, {4.5, 3.4, 3.4, 3.7, 1, 1, 10}, {3.5, 2.6, 3.4, 2.8, -1, 1, 11}, {3.5, 2.6, 3.4, 2.8, -1, 1, 12}, {3.5, 2.6, 3.4, 2.8, -1, 1, 13}, {6.5, 4.9, 3.4, 5.2, 1, 1, 14}, }; void fun(std::vector<struct tagStoak> &data) { struct tagStoak *p = stakData; while (p != NULL) { if (p->flag != -1 && data.size() < 3) { data.push_back(*p); } if (data.size() == 3) { break; } ++p; } } int main() { std::vector<struct tagStoak> data; // 获取flag不为-1的连续三个数组元素 fun(data); for (int i = 0; i < data.size(); i++) { std::cout << data[i].high << "," << data[i].low << "," << data[i].close << "," << data[i].open << "," << data[i].flag << "," << data[i].dir << "," << data[i].no << std::endl; } }
运行结果:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
- ¥30 eclipse开启服务后,网页无法打开
- ¥30 雷达辐射源信号参考模型
- ¥15 html+css+js如何实现这样子的效果?
- ¥15 STM32单片机自主设计
- ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
- ¥15 不小心不正规的开发公司导致不给我们y码,
- ¥15 我的代码无法在vc++中运行呀,错误很多
- ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
- ¥60 fail to initialize keyboard hotkeys through kernel.0000000000