当前位置:  开发笔记 > 编程语言 > 正文

Lambda表达练习

如何解决《Lambda表达练习》经验,为你挑选了1个好方法。

我最近一直在努力学习更多有关lambda表达的知识,并想到了一个有趣的练习......

有没有办法简化这样的c ++集成函数:

// Integral Function
double integrate(double a, double b, double (*f)(double))
{
    double sum = 0.0;

    // Evaluate integral{a,b} f(x) dx
    for(int n = 0 ; n <= 100; ++n)
    {
        double x = a + n*(b-a)/100.0;
        sum += (*f)(x) * (b-a)/101.0;
    }
    return sum;
}

通过使用c#和lambda表达式?



1> CMS..:

那这个呢:

public double Integrate(double a,double b, Func f)
{
    double sum = 0.0;

    for (int n = 0; n <= 100; ++n)
    {
        double x = a + n * (b - a) / 100.0;
        sum += f(x) * (b - a) / 101.0;
    }
    return sum;
}

测试:

    Func fun = x => Math.Pow(x,2);        
    double result = Integrate(0, 10, fun);

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有