随机不工作 C 中的计数时间
random not working + counting time in C++
运行下面的代码时,我会收到以下错误。您能否向我解释为什么以及我应该做什么?我在网上选择了相对于图书馆的代码,但它行不通。我正在使用DEVC 5.11。
- default_random_engine不是'std'的成员
- Simorriform_real_distribution不是'std'的成员
- 在此范围中没有声明"发电机"
- 在此范围中没有声明'发行'
另外,如何在C 中计算时间?
#include <iostream>
#include <random>
int main() {
int i, j, n, nmax;
std::default_random_engine generator;
std::uniform_real_distribution<double> distribution(0.0,1.0);
nmax = 3000;
for (n=200; n<nmax; i+=200) {
double x[n], y[n], A[n][n];
for (i=0; i<n; i++) {
x[i] = distribution(generator);
y[i] = 0;
for (j=0; j<n; j++) {
A[i][j] = distribution(generator);
}
}
// start counting time
for (i=0; i<n; i++) {
for (j=0; j<n; j++) {
y[i] = A[i,j] * x[j];
}
}
// stop counting time
// total_time = stop - start
// std::cout << total_time
}
return 0;
}
代码中的错误:
1. default_random_engine
和uniform_real_distribution
不是C 98标准,因此所有四个错误都与此相关。您应该在计算机上安装C 11编译器。在这里,如果您在选项部分中使用标准,您将理解我的意思。
2.将A[i,j]
更改为A[i][j]
。
3.您应该在第一个for
环中将i+=200
更改为n+=200
。
4.您可以这样创建2D向量:
vector<vector<int>> vec(row_num, vector<int>(col_num));
以及在时,执行时间的计算您可以使用<time.h>
。这是使用std::vector
的工作代码:
#include <iostream>
#include <random>
#include <time.h>
#include <vector>
int main()
{
int nmax;
std::default_random_engine generator;
std::uniform_real_distribution<double> distribution(0.0,1.0);
nmax = 3000;
for (int n=200; n < nmax; n+=200) {
std::vector<double> x(n);
std::vector<double> y(n);
std::vector< std::vector<double> > A(n, std::vector<double>(n));
for (int i=0; i<n; i++) {
x[i] = distribution(generator);
y[i] = 0;
for (int j=0; j<n; j++) {
A[i][j] = distribution(generator);
}
}
// start counting time
clock_t start = clock();
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++) {
y[i] = A[i][j] * x[j];
}
}
// stop counting time
clock_t stop = clock();
// total_time = stop - start
double elapsed = (double)(stop - start) * 1000.0 / CLOCKS_PER_SEC;
std::cout << "Elapsed time: " << elapsed << std::endl;
}
return 0;
}
相关文章:
- 给定的两个代码有什么区别.一个在 ideone 上运行时超出时间限制,另一个工作正常
- 随机不工作 C 中的计数时间
- 模式匹配函数的时间测量无法正常工作
- 增量时间无法在 GLFW 中正常工作
- 使用计时比较C++的持续时间/秒数并不像预期的那样工作
- C++:将当前时间与下一个工作时间进行比较
- 使用 winAPI 获取计算机工作时间
- 超级强大:实时音调转换,时间扩展器不工作
- c++线程的安全性和时间效率:为什么有互斥检查的线程有时比没有它的线程工作得更快
- 程序编译和运行,但一段时间后,它停止使用Typedef关键字在CPP上工作
- Zmq 套接字在一段时间后不工作
- 如何以预定的时间间隔更新 GUI,同时仍执行非 GUI 工作
- 如何查看申请的工作时间
- C++ 在一周中的几天内增加工作时间的公式
- Maya API:如何更改UI时间工作单位
- visual c++时间限制不工作
- Visual 2013 插件,用于记录您在项目上工作的时间。
- Pthreads程序工作一段时间,然后停止
- High_resolution_clock的时间测量没有按预期工作
- 如何才能把工作时间在嘀嗒之间转换成这种运动功能