【发布时间】:2016-06-09 09:33:16
【问题描述】:
我的任务是从另一个文件调用函数,而不是在同一个脚本中编写所有内容。我必须从我的主脚本生成 2 个随机整数,然后将它传递给我的辅助函数计算它并在我的主脚本上显示结果。
假设值 p = 5, q = 3,边函数将计算总和: 33333 + 3333 + 333 + 33 + 3 = 总和
假设值 p = 3, q = 6,边函数将计算总和: 666 + 66 + 6 = 总和
我需要使用 c++11 随机引擎随机生成 20 组这样的值。我能够了解代码应该是什么样的要点,但我一直对如何传递函数值、保留函数值和计算最终值感到困惑。
以下是我的错误
||=== Build: Debug in lab5task1 (compiler: GNU GCC Compiler) ===|
C:\Users\lteo007\Documents\lab5task1\lab5task1.cpp||In function 'int main()':|
C:\Users\lteo007\Documents\lab5task1\lab5task1.cpp|29|error: expected primary-expression before 'int'|
C:\Users\lteo007\Documents\lab5task1\lab5task1.cpp|29|error: expected primary-expression before 'int'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
以下是我的代码:
主要代码
#include <iostream>
#include <random>
#include <ctime>
using namespace std;
int generate_integer(int, int );
int add_integers(int, int );
int main()
{
mt19937 rand_generator;
rand_generator.seed(time(0)); //random seeding using current time
uniform_int_distribution<int> rand_distribution(1,9);
for(int i=0; i<20; i++)
{
int rand_num1, rand_num2;
rand_num1 = rand_distribution(rand_generator);
rand_num2 = rand_distribution(rand_generator);
cout << "1st parameter" << rand_num1 << " " ;
cout << "2nd parameter" << rand_num2 << " " ;
cout << "sum" << add_integers(int rand_num1,int rand_num2)<< endl;
}
return 0;
}
这里是辅助函数
#include <iostream>
using namespace std;
int generate_integer(int m, int n);
int add_integer()
{
int sum = 0;
int p,q;
for(int i = p; i > 0; i--)
{
sum = generate_integer(i,q) + sum;
cout << sum << endl;
}
return sum;
}
int generate_integer(int m, int n)
{
for(int i = 0; i < m; i++)
{
cout << n;
}
}
【问题讨论】:
-
add_integers()的定义在哪里?add_integer()不会是一个,因为它们有不同数量的参数。 -
您已更改代码,使其不再产生您所询问的错误。请不要那样做。
-
顺便说一句,“脚本”一词通常用于解释语言,但您拥有的是编译后的代码
-
@MikeKinghan 回滚。
标签: c++ arrays function c++11 random