我想在C中创建一个函数树,它看起来像这样:http: //scr.hu/5rq/vdja0
所以基本上我希望结果是这样的:http://scr.hu/5rq/f04uu
哪里x是我可以提供的变量(浮动).F0到F6是随机函数,它有两个参数(函数如乘法,加法或给出随机数).所以我的确切问题是:我怎么能这样做?我知道可以通过存储数组中每个函数给出的精确值来轻松完成.但是当谈到获得不同的"x"值时,它会变得复杂.我最初的想法是创建将随机函数附加到树中的每个节点的函数,但是,我不确定应该如何完成构成该树的结构,
typedef struct drzewo typ;
struct drzewo {
typ *right;
typ *left;
typ *up;
float *value; //what to do with this ?
};
Run Code Online (Sandbox Code Playgroud)
我想以某种方式改变行"float*value;" 转换为可以存储函数Function1(left->value,right->value);但未运行的函数,而不是具有给定参数的函数的精确值,以及在何处Function1()或Function2()表示将两个参数分开或将它们相乘的函数.
不,这不是为了学校,是的,这是我使用遗传编程的悲惨尝试.
所以我有一段代码与这样的类:
#include<iostream>
#include<cstring>
class stu
{
static int proba;
public:
stu();
static int no(){
return proba;
}
};
int stu::proba=0;
stu::stu()
{
proba=proba+1;
}
int main()
{
std::cout<< stu::no << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
输出是1.即使我改变stu::no了它也只是{return 12;}
为什么它会发生?我如何解决它??