小编Cal*_*res的帖子

链接器错误 - 朋友和左手边.(没有模板)

这是在程序中抛出错误的行:(s和u是统计对象)

s = 2*u;
Run Code Online (Sandbox Code Playgroud)

错误C2678:二进制'*':找不到哪个运算符带有'int'类型的左操作数(或者没有可接受的转换)

这是头文件:

#ifndef STATISTICIAN
#define STATISTICIAN

namespace main_savitch_2C
{
class statistician
{
protected:
    int _length;
    double _mean, _minimum, _maximum;

public:
    statistician();
    statistician(int length, double mean,
        double min, double max);

    void next_number(double num);
    void reset();
    int length() const;
    double sum() const;
    double mean() const;
    double minimum() const;
    double maximum() const;

    friend statistician operator*(
        const statistician& a, double x);
    //friend statistician operator*(
    //  double x, const statistician& a);
};

bool operator== (
    const statistician& a,
    const statistician& b); …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading linker-errors

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

下载网页的一部分 - 数据挖掘

这基本上就是我在做的事情.我从en.wikipedia.org中选择一篇科学文章,并获得已编辑过的用户列表以及他们编辑文章的次数.为了实现这一点,我按照页面中的链接来引导我进入工具服务器.我用这个页面http://toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=en&wikifam=.wikipedia.org&page=Quantum_mechanics&since=&until=&grouped=on&hideanons=on&order=-edit_count&max=100&order=-edit_count&format=wiki到检索排序列表中的编辑器并排除匿名.这很好用,因为它有一个格式很好的列表,(即使它有我不需要的日期).

然而,为了判断他们的可信度,我需要看看顶级用户并查看他们正在做出贡献的热门文章,看看他们是在编辑很多科学文章还是随机垃圾.我很难获得每个用户的数据,因为目前,我能找到的唯一一个显示用户历史的网站是http://en.wikipedia.org/w/index.php?title=Special:Contributions&limit = 5000&目标= Aquirata

但是,获取单个用户的网页需要相当长的时间,至少20秒,然后我仍然需要解析无用的数据等.我不需要接近尽可能多的数据,因为我不得不下载.这是我到目前为止获取用户数据的代码:

    static string getWebPage(string url)
    {
        WebClient client = new WebClient();
        client.Headers.Add("user-agent",
            "Mozilla/5.0 (Windows; Windows NT 5.1; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4");

        return client.DownloadString(url);
    }

    static void Main(string[] args)
    {
        string url = "http://en.wikipedia.org/w/index.php?title=Special:Contributions&limit=50&target=Aquirata";

        string page = getWebPage(url);
        var lines = page.Split('\n', '\r');
        var edits = lines.Where(t => t.StartsWith("<li class"));
        foreach (string s in edits)
            Console.WriteLine(s);
        Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

是否有更快和/或更容易的替代方案?也许这里有一个数据库?(我不确定维基媒体是否有关于用户贡献的统计数据).

另外,我正在使用C#因为我最熟悉它.我可能会切换到java以允许跨平台,但我愿意接受任何其他建议.

php c# http data-mining

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

如何测试VHDL文件

我用VHDL制作了一个双端口寄存器库,我想测试它以确保它有效.我该怎么做呢?我知道我想做什么(将寄存器2设置为常量,在测试程序中读出它,写入寄存器3并将其读回,看看我是否有相同的结果).

唯一的问题是,我是VHDL的新手,所以我不知道是否有控制台或测试程序是如何构建的,或者如何实例化寄存器文件,甚至是编译它的内容(我一直在使用quartus)至今).

这是我的注册文件:

use IEEE.STD_LOGIC_ARITH.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

-- Register File

entity RF is

port(
    signal clk, we: in std_logic;
    signal ImmediateValue : in std_logic_vector(15 downto 0);
    signal RegisterSelectA, RegisterSelectB : in integer range 0 to 15;

    signal AOut, BOut : out std_logic_vector(15 downto 0)
);

end RF

architecture behavior of RF is

    array std_logic_vector_field is array(15 downto 0) of std_logic_vector(15 downto 0);
    variable registers : std_logic_vector(15 downto 0);

    process (clk, we, RegisterSelectA, RegisterSelectB, ImmediateValue)
        wait until clk'event and clk = …
Run Code Online (Sandbox Code Playgroud)

vhdl

0
推荐指数
1
解决办法
1591
查看次数

OrderBy没有lambda用于简单的IEnumerables

是否有更简单的方法来编写以下内容?IE,没有lambda.

var strings = new[] { "Alabama", "Mississippi", "Louisiana" };
var ordered = strings.OrderBy(x => x);
Run Code Online (Sandbox Code Playgroud)

似乎它应该是可能的,因为string工具IEquatable<string>.

.net c# linq

0
推荐指数
1
解决办法
299
查看次数

标签 统计

c# ×2

.net ×1

c++ ×1

data-mining ×1

http ×1

linker-errors ×1

linq ×1

operator-overloading ×1

php ×1

vhdl ×1