gpt4 book ai didi

c++ - 在 C++ 中对多个链接数组进行排序

转载 作者:行者123 更新时间:2023-11-30 03:34:08 24 4
gpt4 key购买 nike

<分区>

考虑以下列表:

Name   Price(per kg)  Weight(in kg)

rice1 40 20
rice2 50 27
rice3 35 24

我希望所有的大米类型都根据它们的值进行排序。所以,我对它们进行分类。

new sorted price: 35 40 50

现在我将它们打印出来,输出如下:

Name  Price  Weight

rice1 35 20
rice2 40 27
rice3 50 24

但这不是我想要的。我希望它像这样打印:

Name   Price  Weight

rice3 35 24
rice1 40 20
rice2 50 27

所以,问题是我得到的是排序列表中的值,而不是名称和权重。我想根据值(value)对所有内容进行排序。我该怎么做?

我编写了以下代码。但不确定下一步该做什么。

#include <iostream>
#include <string>
#include <algorithm>

int main()
{
class treasure
{
public:
std::string name[100];
double value[100];
double weight[100];
};

int itemNumber, totalWeight, i;

treasure item;

std::cout << "Enter total item weight(in kg): " << std::endl;
std::cin >> totalWeight;
std::cout << std::endl <<"Enter total item number: " << std::endl;
std::cin >> itemNumber;

//take item name, item value, item weight
for( i = 0; i < itemNumber; i++)
{
std::cout << std::endl << "Enter item name: " << "\t" << "Enter item value(per kg): " << "\t" << "Enter item weight(in kg): " << std::endl;
std::cin >> item.name[i] >> item.value[i] >> item.weight[i];
}

//sort items according to given value
std::sort(item.value, item.value + itemNumber);

//print sorted list
for( i = 0; i < itemNumber; i++)
{
std::cout << std::endl << std::endl << "Item name: " << "\t" << "Item value(per kg): " << "\t" << "Item weight(in kg): " << std::endl;
std::cout << item.name[i] << "\t\t" << item.value[i] << "\t\t\t" << item.weight[i] << std::endl;
}

return 0;
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com