小编San*_*ker的帖子

我可以计算多线程数的平均值吗?

我在C++中使用多线程函数.使用n多线程,我有n随机输出.我需要计算代码中多线程输出的平均值.让我们假设n=4线程,代码是

#include <omp.h>
#include <unistd.h>
#include <stdio.h>
#include <random>
#include <iostream>
#include <cmath>
#include <iomanip>
#include <array>
#include <eigen3/Eigen/Dense>

#define         W               1.0
#define         avg_disorder    10
#define         numThd          4

int main()
{
  #pragma omp parallel num_threads(numThd)
  {
    // define random numbers
    std::mt19937 rng;                  
    std::uniform_real_distribution <> dist;
    std::random_device r;
    std::array<int,624> seed_data;
    std::generate(seed_data.begin(), seed_data.end(), std::ref(r));
    std::seed_seq seq(std::begin(seed_data), std::end(seed_data));
    rng.seed(seq);

    Eigen::Array<double, -1, 1> rp; // rp= random potential
    rp  = Eigen::Array<double, -1, 1>::Zero(avg_disorder, 1);

    //List of 10 random …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading openmp

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

C - strcpy与赋值

如果我使用strcpy()功能和赋值运算符,它们有什么区别吗?

char word[][40],*first;
Run Code Online (Sandbox Code Playgroud)

以下是2个例子.

*first=word[0]; 
strcpy(first,&word[0]);
Run Code Online (Sandbox Code Playgroud)

c

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

我正在尝试规范化向量,但我的代码返回失败?

下面是我的代码示例,尝试规范化我的3点向量{5,5,5}然而它在运行时打印"Normalize - Failed",可能有人解释为什么它没有成功对我这样我可能会尝试修复它?

#include <iostream>
#include "Geometry.h"
#include <math.h>

void Normalise()
{
    TVector3 _krA;//vector / mag vector = answer x y z
    {
        _krA.m_fX = 5;
        _krA.m_fY = 5;
        _krA.m_fZ = 5;
    }
    TVector3 _rResultant;
    {
        _rResultant.m_fX = (_krA.m_fX * _krA.m_fX);
        _rResultant.m_fY = (_krA.m_fY * _krA.m_fY);
        _rResultant.m_fZ = (_krA.m_fZ * _krA.m_fZ);
    }
    float _fResultFinalMag = sqrt(_rResultant.m_fX + _rResultant.m_fY + _rResultant.m_fZ);

    float _fresultXMag = (_krA.m_fX / _fResultFinalMag);
    float _fresultYMag = (_krA.m_fY / _fResultFinalMag);
    float _fresultZMag = (_krA.m_fZ / _fResultFinalMag);

    float _fNormliseTestX …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2013

-2
推荐指数
1
解决办法
83
查看次数

为什么要使用malloc()?为什么变量的大小没有增加?

根据我的老师的答案,malloc动态分配内存,然后为什么输出显示为正常变量和分配相同的大小malloc();。我是编程的新手,所以我想您会以新手可以理解的方式回答我的问题。

#include<stdio.h>

int main()
{
    int a,b;
    a = (int *) malloc(sizeof(int)*2);
    printf("The size of a is:%d \n",sizeof(a));
    printf("The size of b is:%d \n",sizeof(b));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

The size of a is:4
The size of b is:4
Run Code Online (Sandbox Code Playgroud)

c

-4
推荐指数
1
解决办法
119
查看次数

标签 统计

c ×2

c++ ×2

multithreading ×1

openmp ×1

visual-studio-2013 ×1