我的递归有问题吗?

时间:2019-05-15 05:18:35

标签: c++ recursion

我想从头开始创建整洁的算法,但是遇到了这个问题,当我尝试输入并将值全部设为0.5时,值恰好错了

我已经搜索了所有代码,但是我仍然不知道我的代码有什么问题

double Individu::calculateNodeValue(Node *&node) {

    int size = node->getConn_in().size();
    double value = 0.0;
    for (int i = 0; i < size; ++i) {
        Connection *tempConn = node->getConn_in()[i];
        if (tempConn->getNodeFrom()->getValue() == 0 && !tempConn->getNodeFrom()->isInput()) {
            value += (calculateNodeValue(tempConn->getNodeFrom()) * tempConn->getWeight());
        }
        else {
            value += (tempConn->getNodeFrom()->getValue() * tempConn->getWeight());
        }
    }
    node->setValue(value);
    return node->activatedValue();
}

输出似乎真的是错误的,它给出的值似乎无处不在,我不知道出了什么问题

0 个答案:

没有答案