C++:我如何计算向量中的唯一元素? 我有这个C++代码:
我需要计算vek[I].szulev中唯一元素的数量C++:我如何计算向量中的唯一元素? 我有这个C++代码:,c++,C++,我需要计算vek[I].szulev中唯一元素的数量 请帮帮我,我该怎么做?这里有一个简单的方法来计算向量中的唯一值: using Size = ptrdiff_t; template< class Item > auto n_unique_items( vector<Item> const& v ) -> Size { return set<Item>{ v.begin(), v.end() }.size(); } 因为您坚持使用代
请帮帮我,我该怎么做?这里有一个简单的方法来计算向量中的唯一值:
using Size = ptrdiff_t;
template< class Item >
auto n_unique_items( vector<Item> const& v )
-> Size
{ return set<Item>{ v.begin(), v.end() }.size(); }
因为您坚持使用代码,所以仍然可以使用std::set进行计数 这一切归结为:
#include <set>
#include <iostream>
void count_items(szemelyadat* vek, int elemszam)
{
std::set<int> counter;
for (int i = 0; i < elemszam; i++)
counter.insert(vek[i].szulev);
std::cout << "The number of unique items is " << counter.size();
}
如果您在填写vektor后调用计数项,则这将为您提供vektor中szulev的唯一编号。包括问题中的代码。不要链接到它。我假设你被禁止使用std::map,因为你没有使用std::vector。你的问题标题有误导性,因为你的程序中没有使用vector。如果你真的在使用std::vector,那么整个程序是两行:std::vector v={1,2,3,1,1,3};std::可以,但我需要这样做,我不能在任务中使用vector。如果你觉得很难适应,请问一个新问题。无论如何,您询问了如何计算向量中的唯一项。我忽略了你的示例代码,因为它没有包含向量。很抱歉编辑和回滚,我还没有喝到我的第一杯咖啡。只是抱歉。
#include <set>
#include <iostream>
void count_items(szemelyadat* vek, int elemszam)
{
std::set<int> counter;
for (int i = 0; i < elemszam; i++)
counter.insert(vek[i].szulev);
std::cout << "The number of unique items is " << counter.size();
}