c++ 结构体构造函数使用总结 附一道经典模拟题
- 要点 :建立结构体数组时,如果只写了带参数的构造函数将会出现数组无法初始化的错误
- 下面是一个比较安全的带构造的结构体示例
struct node {int data;string str;char ch;// 构造函数最后没有分号node() : ch(), str(), data(){}node(int a, string b, char c) : data(a), str(b), ch(c){}
}p[10];
#include <iostream>
#include <vector>
using namespace std;struct Shares {int d;vector<double> data;vector<int> sum;Shares(){}Shares(vector<double> const &x, double t) : data(x) {d = (int)data.size();int num = t * 100;for (int i = 0; i < d; i ++ ) {num = (1.0 + 0.01 * data[i]) * num;sum.push_back(num);}}bool cmp(vector<double> const &a) {int len = (int)a.size();if (len > d) return false;for (int i = 0; i < len; i ++ ) {if (a[i] != data[i]) return false;}return true;}int calc(vector<double> const &a) {int len = (int)a.size();if (!cmp(a)) return -1;int k = len - 1;for (int i = len; i < d; i ++ ) {if (sum[i] > sum[k]) k = i;}return k - len + 1;}
};int main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int n;cin >> n;vector<Shares> shares;for (int i = 0; i < n; i ++ ) {double w;int k;cin >> w >> k;vector<double> x(k);for (int j = 0; j < k; j ++ )cin >> x[j];shares.emplace_back(x, w);}int q;cin >> q;while (q -- ) {int k;cin >> k;vector<double> x(k);for (int i = 0; i < k; i ++ )cin >> x[i];int vis = 0, ans = -1;for (int i = 0; i < n; i ++ ) {int temp = shares[i].calc(x);if (temp >= 0) {vis ++ ;ans = temp;}}if (vis != 1) {cout << -2 << endl;} else {cout << (ans == 0 ? -1 : ans) << endl;}}
}
c++ 结构体构造函数使用总结 附一道经典模拟题相关推荐
- PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:和下面这题是一道题: PAT甲级1137 Final Grading:[C++题解]结构体.排序.哈希表.结构体构造函数.结构体内写函 ...
- c ++结构体构造函数_C ++中的构造函数
c ++结构体构造函数 Constructors in C++ or any other language are a member function of a class that is used ...
- 【C++】struct结构体/构造函数
结构体/构造函数例程 这是我在网上看的,一个struct中的变量的初始化方式有以下好几种: #include <iostream> #include <string> #inc ...
- 一道经典极限题的分析与求解
一道经典极限题的分析与求解 题目 limx→∞ex(1+1x)x2\lim_{x\to \infty}\frac{\mathrm{e}^x}{(1+\frac1x)^{x^2}} x→∞lim(1 ...
- 深大计算机专业英语笔试,深大新生入学英语水平测试考什么?英语渣看完瑟瑟发抖......(附3套模拟题)...
原标题:深大新生入学英语水平测试考什么?英语渣看完瑟瑟发抖......(附3套模拟题) 来源:本文综合自深大考试君,如果有侵权,请及时联系管理员处理. 随着一本二本的招生结束,深大又迎来了一批优秀的新 ...
- 微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日
微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日 分类: 天下杂侃 2008-08-07 23:37 17495人阅读 评论(21) 收藏 举报 题目是这样的: 小明和小强 ...
- 微软的一道经典逻辑推理题 小明和小强都是张老师的学生,张老师的生日是M月N日
微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日 分类: 天下杂侃 2008-08-07 23:37 17495人阅读 评论(21)收藏 举报 题目是这样的: 小明和小强都 ...
- PAT甲级1137 Final Grading:[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数
文章目录 题目分析 题目链接 题目分析 分析: 首先一个学生有id,另外有4个成绩:编程成绩.期中成绩.期末成绩.总评成绩.现有3个成绩单:编程成绩.期中成绩.期末成绩,让计算总评成绩,并排序输出. ...
- 结构体构造函数_Go 语言的数据结构 :栈与队列
在先前的博文中,我们探讨了链表以及如何将它应用于实际应用.在这篇文章中,我们将继续探讨两个相似且功能强大的数据结构. 建模操作和历史 让我们看看 Excel 或 Google 文档,他们是人类发明的最 ...
最新文章
- JavaScript DOM 9 - 元素的尺寸与位置
- jsoup开发网页客户端3
- fast.ai 深度学习笔记:第一部分第一课
- Java获取泛型T的类型 T.class
- iphone3G恢复到3.1.2遇到的问题
- 工作85:过滤器的使用
- 为什么我喜欢单独编程
- 云+X案例展 | 民生类:京东云突破数据中心光互联瓶颈
- Spring4.x(12)--SpringEL-HelloWorld
- 话说关于 ZooKeeper 方面,面试有什么可问的啊?​
- iOS学习笔记(十五)——数据库操作(SQLite)
- oracle数据库表空间追加数据库文件方法
- SQLserver如何创建一个表
- DBImport v3.0 中文版发布:支持各大数据库数据互导(IT人员必备工具)
- 追赶法源程序c语言,追赶法求三对角线方程组程序设计.doc
- win7备份工具_调解 win7系统一键还原精灵使用的具体方法 -win7系统使用教程
- sudo: no valid sudoers sources found,quitting sudo sudoers改坏后无法使用sudo的解决办法
- 学术期刊数据库---EBSCO
- unity可以直接转h5吗_Unity对H5小游戏开发的支持—Project Tiny
- 笔记代码(各种算法实现)
热门文章
- 释疑の函数POPUP_TO_CONFIRM
- 程序员眼中的英文单词竟是这样的
- CO模块之利润中心会计
- 如何加快按生产订单查找物料凭证的报表的速度
- Function宝典
- 中国通货膨胀率2.8%,数据分析买房风险直线上升
- 问卷星作答能不能检测到屏幕共享_云端检测,别样精彩——大厂回族自治县王必屯中心小学线上期末检测纪实...
- html列表无序嵌套,HTML/CSS - 如何正确定位这些嵌套的无序列表?
- oracle变量最大多少位,oracle – 是否有可能获得变量的最大可能长度
- python基础中apply()函数的正确用法