小编Ibr*_*him的帖子

运行后数字未随机化

我正在尝试创建一个 openMP 程序,该程序随机化双精度数组并通过以下公式运行值:y[i] = (a[i] * b[i]) + c[i] + (d[i] * e[i]) + (f[i] / 2);

如果我多次运行该程序,我就会意识到 Y[] 值是相同的,即使在第一次初始化数组时它们应该是随机的#pragma omp for。关于为什么会发生这种情况有什么想法吗?

#include<stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include<omp.h>
#define ARRAY_SIZE 10

double randfrom(double min, double max);

double randfrom(double min, double max)
{
    double range = (max - min);
    double div = RAND_MAX / range;
    return min + (rand() / div);
}

int main() {
    int i;
    double a[ARRAY_SIZE], b[ARRAY_SIZE], c[ARRAY_SIZE], d[ARRAY_SIZE], e[ARRAY_SIZE], f[ARRAY_SIZE], y[ARRAY_SIZE];
    double min, max; …
Run Code Online (Sandbox Code Playgroud)

c openmp

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

标签 统计

c ×1

openmp ×1