问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一道C++题目 谁帮忙改下啊 100分 采纳后还追加100

发布网友 发布时间:2023-07-12 04:27

我来回答

4个回答

热心网友 时间:2024-12-05 05:29

你把一个j写成i了。
#include <iostream>
#include<vector>
using namespace std;

class PostmarksCollection{

public:
int numberOfDistinctPostmarks(vector <int> prices, vector <int> have) {

int sumPrices = 0; //总计价值变量
int tmpe=0; //排序中间变量
int number = 0; //收集种类变量

if(prices.size() >= have.size()){
// 拥有邮票总共价值
for (int i = 0; i < have.size(); i++) {
sumPrices = sumPrices + prices[have[i]];
}
}

else {
return 0;
}

if(have.size() == 0){
cout<<"你开始没有任何邮票,所以你也不能做任何事情!";
return 0;
}

else { //价格排序
for (int i = 0; i < prices.size(); i++) {
for (int j = i + 1; j < prices.size(); j++) {
if (prices[j] < prices[i]) {
tmpe = prices[i];
prices[i] = prices[j];
prices[j] = tmpe;
}
}
}
}

for (int i = 0; i < prices.size(); i++) {
if (sumPrices - prices[i] >= 0) {
number++;
sumPrices -= prices[i];
}
else {
break;
}
}
cout<<"最多可以收集"<<number<<"张不同的邮票!"<<endl;
return number;
}

};

int main(){
vector <int> prices;
vector <int> have ;

int a[10]={16,32,13,2,17,10,8,8,20,17};
int b[6]={7,0,4,1,6,8};
for(int i=0;i<10;i++){
prices.push_back(a[i]);
}

for(int j=0;j<6;j++){
have.push_back(b[j]);
}

class PostmarksCollection qiaoqian;
qiaoqian.numberOfDistinctPostmarks(prices,have);

return 0;
}

热心网友 时间:2024-12-05 05:29

一道C++题目 谁帮忙改下啊 100分 采纳后还追加100
悬赏分:100 - 离问题结束还有 14 天 23 小时
假设你的爱好是集邮。目前总共有N种不同的邮票,编号为从0到N-1.每种邮票的价钱被定义在数组vector<int> prices中(序号从0开始,数组的第i个元素表示第i种邮票的价格)。
你的目标是收集尽可能多种的邮票。你当前拥有的邮票存储在vector<int> have这个数组中。初始时,你没有钱,但是你可以卖掉已有邮票来买不同的邮票。返回你能收集到的不同种邮票的最大数量。

定义:
class: PostmarksCollection
method: numberOfDistinctPostmarks
Parameters: vector <int>, vector <int>
Returns: int

Method signature: int numberOfDistinctPostmarks(vector <int> prices, vector <int> have)

如下是我的程序 因为没用过这个vector 所以不太会使 哪位高人指点下啊
#include <iostream>
#include<vector>
using namespace std;

class PostmarksCollection{

public:
int numberOfDistinctPostmarks(vector <int> prices, vector <int> have) {

int sumPrices = 0; //总计价值变量
int tmpe=0; //排序中间变量
int number = 0; //收集种类变量

if(prices.size() >= have.size()){
// 拥有邮票总共价值
for (int i = 0; i < have.size(); i++) {
sumPrices = sumPrices + prices[have[i]];
}
}

else {
return 0;
}

if(have.size() == 0){
cout<<"你开始没有任何邮票,所以你也不能做任何事情!";
return 0;
}

else { //价格排序
for (int i = 0; i < prices.size(); i++) {
for (int j = i + 1; j < prices.size(); j++) {
if (prices[j] < prices[i]) {
tmpe = prices[i];
prices[i] = prices[j];
prices[j] = tmpe;
}
}
}
}

for (int i = 0; i < prices.size(); i++) {
if (sumPrices - prices[i] >= 0) {
number++;
sumPrices -= prices[i];
}
else {
break;
}
}
cout<<"最多可以收集"<<number<<"张不同的邮票!"<<endl;
return number;
}

};

int main(){
vector <int> prices;
vector <int> have ;

int a[10]={16,32,13,2,17,10,8,8,20,17};
int b[6]={7,0,4,1,6,8};
for(int i=0;i<10;i++){
prices.push_back(a[i]);
}

for(int j=0;j<6;i++){
have.push_back(b[j]);
}

class PostmarksCollection qiaoqian;
qiaoqian.numberOfDistinctPostmarks(prices,have);

return 0;

热心网友 时间:2024-12-05 05:30

你的程序只犯了点小错误,
for(int j=0;j<6;i++){ //这里是 j++ 不是i++
have.push_back(b[j]);
}

另外 既然用了vector 那排序的时候直接
sort(prices.begin(), prices.end()); 就可以了

其他的也没啥了。。

热心网友 时间:2024-12-05 05:31

你的程序的错误在
for(int j=0;j<6;i++){ //这里是 j++ 不是i++
have.push_back(b[j]);
}

vector是C++标准模板库中的部分内容这个你肯定了解

简单地说,vector是一个能够存放任意类型的动态数组

它有自己的方法和能够使用STL通用算法进行运算等操作
vector能够非常容易地添加数据,也能很方便地取出数据
当然也可以删除数据
访问vector中的数据,at()是我们的首选,因为at()进行了边界检查;当然你也可以像数组那样通过operator[]访问,但是这种方式不做边界检查
具体其他更多细节你可以找点STL方面的资料就明白了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小篇幅造句 易车如何发布二手车 转让卖车信息流程 《易车》群聊消息关闭方法 易车消息夜间勿扰方法步骤 易车如何开启消息夜间勿扰 易车 开启@消息推送 ...当入射角是 时,反射角是 。我们能从各个方向看到本身不发光的物体... 发泄的近义词和反义词是什么_发泄是什么意思? 我的世界手游 我的世界手机版怎么做末地传送门? 我的世界手游 末地传送门怎么做? 安全评价师的报考科目有什么 帮忙做一下这个C语言题目,完成后追加到100积分 逆战怎样开启甚么年兽关卡 逆战年兽关卡是什么图 逆战萌狮年兽在哪打 被自己喜欢的男生讨厌了,怎么办? 驾灵的成语驾灵的成语是什么 新华保险端午节上班吗 新华保险续收渠道专员周末节假日正常放假吗? 武汉新华保险5.1.放假几天? 求英文歌名,女声,第一句歌词是I feeling so什么,后面是两句don’t you... 2022年湖北成人高考考什么科目?通过率怎么样?好通过吗? 中国对外宣传、传播中国形象的的阵地有哪些,有什么建设成果,有 i&#39;m english 的同义句 改为同义句 I am English I( )( )English 为什么不能说I am English. 可不可以说I am an English. I&#39;m English 怎样翻译? 为什么不能说I am an English 如何阅读英文案例 bag here red is your.怎么连词成句? 帮我把这个C语言转换成C++语言(若十分满意,再追加100分) 求助各位大大~杭电1106题我的程序错在哪,如何改...谢谢! ...下面是程序代码。回答好了追加100分啊!在线等、很急! 裂行125漆水贵500的是哪一款 21款本田裂行有三色版吗 36岁男孩与30岁女孩能婚配吗,30岁男人娶了36岁的女人以后会幸福吗 lliketoplaywith是什么意思? l like to play basketball为什么要加to to在这里的意思是什么?_百度... 我尊敬的一个人英语50词 为什么那么多小伙伴都找北京高亚东隆鼻呢,他做的很好吗? 北京高亚东做的综合隆鼻火吗?一次综合隆鼻多少钱? 谁知道北京高亚东医生做的综合隆鼻好不好?要多少钱? 高亚东在北京做隆鼻是不是很受欢迎? 高亚东做的综合隆鼻怎么样? 高亚东做隆鼻修复的效果好不好?隆鼻修复要多少钱? 华韩高亚东医生做隆鼻要多少钱?隆鼻整形选择哪种假体比较好?自体软骨怎 ... 北京高亚东做综合隆鼻的费用是多少? 电脑切换窗口快捷键有哪些 美妆蛋可以用沐浴露洗吗 洗完美妆蛋不回弹怎么办?洗完美妆蛋可以直接用吗?