小编acr*_*075的帖子

如何在C++中将值拆分为单个十进制整数

我想在C++中将12345分成1 2 3 4 5.如果不使用模数运算符,我怎么能这样做?任何有用的STL来处理这个问题?

c++

1
推荐指数
1
解决办法
53
查看次数

为什么我不能std :: partition这个std :: unordered_map?

这不构建,我不理解编译错误.

#include <unordered_map>
#include <algorithm>

int main()
{
    std::unordered_map<int, size_t> occurences = { { 10, 2 }, { 20, 5 }, { 30, 0 }, { 40, 5 }, { 50, 0 }, { 100, 9 } };

    auto newEnd = std::partition(occurences.begin(), occurences.end(), [](const std::pair<int, size_t> &p)
        {
        return p.second == 0;
        });

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

g ++抱怨如下.VS2013更加神秘.

/usr/local/include/c++/6.3.0/bits/stl_pair.h:实例化'void std :: pair <_T1,_T2> :: swap(std :: pair <_T1,_T2>&)[与_T1 = const int; _T2 = long unsigned int]':/ usr/local/include/c + +/6.3.0 /bits/stl_pair.h:473:7:从'void …

c++ stl-algorithm

0
推荐指数
2
解决办法
554
查看次数

C++将参数传递给lambda函数

这是我第一次在C++中使用lambda函数,我需要传递一个值来在lambda函数体内使用:

在上面的代码中我需要传递int参数seq_msg:

void do_connect(tcp::resolver::iterator endpoint_iterator, int seq_msg)
{
    boost::asio::async_connect(socket_, endpoint_iterator, [this](boost::system::error_code ec, tcp::resolver::iterator)
    {
        if (!ec)
        {
            send_message(seq_msg);

            do_read_header();
        }           
    });
}
Run Code Online (Sandbox Code Playgroud)

c++ lambda

0
推荐指数
1
解决办法
748
查看次数

C++生成随机向量

我刚刚开始,试图学习编程.所以我现在用C++编程,我尝试创建一个函数,根据参数生成随机整数向量.所以到目前为止我的功能看起来像这样:

std::vector<int> GenerateRandomVector(int NumberCount,int minimum, int maximum) {
    std::vector<int> vecRandomValues;
    int i = 0, randValue = 0;
    srand(time(NULL));
    while (i < NumberCount) {
        randValue = rand() % maximum + minimum;
        vecRandomValues.push_back(randValue);
        i++;
    }
    return vecRandomValues;
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是它不尊重我给它的最小值和最大值,而且大多数时候,40%的生成数字都是0.我无法弄清楚我在这里做错了什么,也没有任何关于如何解决它的想法.我在Windows 10上使用Clion.

c++ random vector

0
推荐指数
1
解决办法
862
查看次数

C ++将对象的向量复制到另一个

我想复制到具有相同大小和相同类型的向量,但是在打印该值后,它似乎无法正常工作,或者它不想将所有指针复制到每个对象中的数据。感谢帮助

这是代码:

std::vector<Vehicle> vehicles(2);
std::vector<Vehicle> vehiclesCopy(2);

vehicles[0].setX_pos(3);

for(int i=0;i<vehicles.size();i++)
    vehiclesCopy.push_back(vehicles[i]);

cout<<vehicles[0].getX_pos()<<endl;
cout<<vehiclesCopy[0].getX_pos()<<endl;
Run Code Online (Sandbox Code Playgroud)

输出:

3

0

这是车辆代码

class Vehicle
{
private:
    unsigned int x_pos,y_pos,velocity;
    char type;
public:
    void vehicle(char           inType,
                unsigned int    inX_pos,
                unsigned int    inY_pos,
                unsigned int    inVelocity)
                {
                    type=inType;
                    x_pos=inX_pos;
                    y_pos=inY_pos;
                    velocity=inVelocity;
        }
    unsigned int getMaxPassengers(){
        return maxPassengers;
    }
    unsigned int getX_pos(){
            return x_pos;
        }
    unsigned int getY_pos(){
            return y_pos;
        }
    unsigned int getVelocity(){
            return velocity;
        }
    char getType(){
            return type;
        }
    void setX_pos(unsigned int input){
            x_pos=input;
        }
    void …
Run Code Online (Sandbox Code Playgroud)

c++ vector object

0
推荐指数
1
解决办法
64
查看次数

更新的矢量元素不打印

在替换小于第一个和最后一个元素的平均值的元素后,下面的代码不会打印更新的向量元素。

如何改进此代码,用户输入指定长度的数组,并用平均值替换小于第一个和最后一个元素的平均值的每个元素。

是否有更好的方法将向量传递给函数,或更有效的方法来管理内存?

#include <iostream>
#include <vector>

std::vector<double> getData()
{
    int n;
    std::vector<double> intputData;
    std::cout << "Enter array length\n";
    std::cin >> n;
    std::cout << "Enter the numbers\n";
    for(int i = 0; i < n; i++){
        int tmpIn;
        std::cin >> tmpIn;
        intputData.push_back(tmpIn);
    }
    return intputData;
}


void modifyData(std::vector<double> &data_mo)
{
    double f=data_mo[0];
    double l=data_mo[data_mo.size() - 1];
    double av = (f + l)/2;
    for (auto j: data_mo)
    {
        if(j < av){
            j = av;
        }
    }
}

void printData(std::vector<double> &data_pr)
{
    for …
Run Code Online (Sandbox Code Playgroud)

c++ stl vector

0
推荐指数
1
解决办法
60
查看次数

获取向量中唯一元素的索引

C++ 中是否有任何 STL/Boost 函数可以让我找到向量中所有唯一元素的索引?

我见过很多找到独特元素的解决方案,但我需要它们的索引。

  vector<int> v = { 1,1,1, 2,2,2,2, 3, 3, ,4,5,5,5,5,5,5 };// already sorted
Run Code Online (Sandbox Code Playgroud)

要么我需要唯一元素的第一个索引

vector<int> unique_index={0,3,7,9,10};
Run Code Online (Sandbox Code Playgroud)

或者我需要唯一元素的最后一个索引

vector<int> unique_index={2,6,8,9,15};
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
1155
查看次数

C++ 是否有 __new__ 等价物?

__new__Python 中的覆盖允许您使用一个类的构造函数来构造一个完全不同的类的对象。想知道是否有任何方法可以在 C++ 或任何其他语言中实现这一点?编写某个求解软件,最初是用 Python 编写的,然后出于速度原因和结构的清晰性而转向 Java,并为 Java 提供了一种伪方法来实现这一点,但由于 C++ 更加灵活和通用,也许真正的东西可能成为可能。谢谢考虑

c++ new-operator

0
推荐指数
1
解决办法
80
查看次数

什么是函数f(a,b)意味着在qustion之下?

问题来自 https://www.hackerrank.com/challenges/coolguy-and-two-subsequences

它在下面说.

    //f(a, b) is a function that returns the minimum element in interval [a, b]

ans = 0

for a -> [1, n]
    for b -> [a, n]
        for c -> [b + 1, n]
            for d -> [c, n]
                ans = ans + min(f(a, b), f(c, d))
Run Code Online (Sandbox Code Playgroud)

我不明白函数f(a,b)是什么.例如f(1,1)是什么价值,为什么?拜托,解释简单的方法.

c function

-3
推荐指数
1
解决办法
98
查看次数

标签 统计

c++ ×8

vector ×3

c ×1

function ×1

lambda ×1

new-operator ×1

object ×1

random ×1

stl ×1

stl-algorithm ×1