小编jot*_*tik的帖子

使用Matplotlib绘制Go-Board

可以在matplotlib中绘制Go-Board吗?我不会向你展示我可怕的尝试(包括一些补丁),只要你不要求它们,我希望你能提出更好的想法.

或者甚至更好:有一个库,或者有人已经编程了吗?那样就好了!

(为什么有人需要在matplotlib中使用GO Board?有很多原因.我的AI无论如何都适用于python/C++以及性能的一些可视化,它们在matplotlib中绘制.现在可以导出/导入到. sgf,但这包括一个外部查看器,如果需要很多图表,它会很慢.)

python matplotlib

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

C++将1添加到非常小的数字?

我只是想在C++中计算一个好的sigmoid函数(并且效率很高).所以我必须这样做:
1/(1 + exp(-x))

问题是,当X变大(或甚至很小)时,结果1 + e变为0或1

例如,
1 + exp(-30) = 1
但这是不正确的......

我们如何轻松有效地添加非常小(或大)的数字?

我正在使用的数据类型:double

这是代码片段:

double Quaternion::sigmoidReal(double v){
    return 1.0 / ( 1.0 + exp(-v) ) ; 
}
Run Code Online (Sandbox Code Playgroud)

谢谢 !

c++ floating-point precision double

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

使用Java Swing和AWT完全相同代码的不同输出

我是摇摆和武装的新手.我在GUI中实现了Huffman Tree.但在我写的代码中,Ubuntu(JAVA 8)的输出很奇怪.有时它打印树(尽管偶然)有时候窗口仍然是空白的.paintComponent对于不同的运行,该函数被调用不同的时间.代码相同,没有用户输入,但对于不同的运行,结果是不同的.请运行代码至少5次,看看我说了什么.任何人都可以帮助我摆脱这个问题吗?
NB你可以直接跳到Huffman课堂上.

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.io.*;
import java.util.*;

import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Queue;

class Node implements Comparable<Node> {
    private  char ch;
    private  int freq;
    private  Node left, right;
    private int x,y ;

    Node(char ch, int freq, Node l, Node r) {
        this.ch = ch;
        this.freq = freq;
        left = l;
        right = r;
    }

    public boolean isLeaf(){
        return (left == null) && (right == null);
    }

    public int compareTo(Node …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing awt jpanel

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

我不明白指针,地址和范围

以下是我编写的代码片段,目前正在努力解决我的打印问题.

在我的main方法中,我insertPoint使用有效输入调用该函数两次,例如:insertPoint(42); insertPoint(56);并获得以下输出:

A.1 42
B.3 2686700
Run Code Online (Sandbox Code Playgroud)

但是在B.3,我希望它也能返回值42,但事实并非如此.我假设2686700指的是内存中的某个地址.

#include <stdio.h>
#include <stdlib.h>    

struct point {
    int value;
    struct point* next;
};

struct point *root;

int insertPoint(int value) {            
    // Graph is empty, set new root 
    if(root == 0){
        struct point newRoot;
        newRoot.value = value;

        root = &newRoot;
        (*root).value = value;
        printf("A.1 %d \n", (*root).value); // "A.1 42"
        return value;
        }
    printf("B.3 %d \n", (*root).value); // "B.3 2686700"

    /* rest of code here; irrelevant since related variables …
Run Code Online (Sandbox Code Playgroud)

c pointers

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

如何在 Unicode/UCS 代码点和 UTF16 代理对之间进行转换?

如何在 C++14 及更高版本中的 Unicode/UCS 代码点和 UTF16 代理对之间来回转换?

编辑:删除了 UCS-2 代理的提及,因为没有这样的事情。谢谢@remy-lebeau

c++ unicode ucs surrogate-pairs c++14

0
推荐指数
2
解决办法
867
查看次数

无明显理由获得"多重定义"

问题从标题中可以清楚地看出来.这是代码:

TimeTask.hpp:

#pragma once
#include <locale>
#include <codecvt>
#include <chrono>

namespace TimeTask {

static std::wstring_convert<std::codecvt_utf8_utf16<wchar_t> > converter;

std::tm * to_date(
    int day, int month, int year,
    int hours = -1, int minutes = -1, int seconds = -1
) {
    time_t rawTime = time(0);
    std::tm * tInfo = localtime(&rawTime);
    tInfo->tm_mday  = day;
    tInfo->tm_mon   = month - 1;
    tInfo->tm_year  = year - 1900;

    if(hours >= 0)
        tInfo -> tm_hour = hours;
    if(seconds >= 0)
        tInfo -> tm_sec = seconds;
    if(minutes >= …
Run Code Online (Sandbox Code Playgroud)

c++ multiple-definition-error

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

JPanel翻出来,FlowLayout没有按预期工作

前几天这段代码正在运行.我改变了一些东西并重新运行它,现在它没有按预期工作.显然我改变的行为改变了行为,但我已经回去并恢复了所有这些改变,但它仍然无效.忽略那一点信息(开始),为什么这段代码不会在JPanel中放置一个15x15的JLabel网格?

gameBoard.setLayout(new FlowLayout());

for (int i = 0; i < 15; i++)
{
    for (int j = 0; j < 15; j++)
    {
        JLabel tile = new JLabel("");                       
     tile.setHorizontalAlignment(SwingConstants.CENTER);
        tile.setPreferredSize(new Dimension(27, 27));
        tile.setBorder(new EtchedBorder());
        tile.setEnabled(false);

        gameBoard.add(tile);
    }
}
Run Code Online (Sandbox Code Playgroud)

gameBoard是通过NetBeans的GUI Builder定义的JPanel.它具有优选的尺寸,最大尺寸(与优选相同).水平/垂直可调整大小的选项被禁用,但是当此代码运行时,每个按钮水平延伸一行而不会断开.

如果我理解正确,FlowLayout应该在元素到达其包含元素的末尾时将其包装起来.这发生在今天之前,我真的不知道为什么这种行为停止了?

java jlabel alignment jpanel flowlayout

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

打印出一个非常小的浮点数

我有以下代码:

float test = 1/(10^(15));
std::cout << "test: " << test << std::endl;
Run Code Online (Sandbox Code Playgroud)

但我得到"test:0"作为值.我想要"测试:0.000000000000001".

我该如何实现这一目标?

c++ floating-point floating-accuracy

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

strlen在C语言中没有给出正确的长度

我对这个问题很困惑.这是代码:

char str[256];
memcpy(&str[0], "Q", 1);
memcpy(&str[1], "5", 1); // everything fine so far
int16_t lenQ = 22;
memcpy(&str[2], (char*)&lenQ, sizeof(int16_t));
str[2 + sizeof(int16_t)] = (char) NULL;
printf("%i\n", strlen(str)); // prints out 2??
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,长度str应该是4,但它只有两个.为了让事情更加混乱,这有效:

int16_t raw = 0;
memcpy(&raw, &str[2], 2);
printf("%i\n", raw) // prints out 22 as expected
Run Code Online (Sandbox Code Playgroud)

所以大小str不正确,但我仍然可以实际访问"越界"值.我错误地理解了吗?根据我的理解,str-array应该在内部看起来像这样:

'Q', '5', /* 22 in bytes, which is 2 in this case */
Run Code Online (Sandbox Code Playgroud)

我是否应该像这样得到阵列的长度,或者我做错了什么?

c

-2
推荐指数
1
解决办法
372
查看次数

如何为C"类"的C++ 11冒充者实现operator delete?

我正在尝试编写C++ 11冒名顶替者(最好由@jrok称为,因为这些类没有像包装器那样的字段),对于一堆C"类",类似于:

extern "C" {
  struct cfoo;
  cfoo * cfoo_new();
  void cfoo_free(cfoo *);
  int cfoo_bar(cfoo *, int);
} // extern "C" {
class Foo final {
    Foo() = delete;                        // Prevents
    Foo(Foo &&) = delete;                  // construction
    Foo(const Foo &) = delete;             // of this
    Foo & operator=(Foo &&) = delete;      // C++
    Foo & operator=(const Foo &) = delete; // object
public: /* Methods: */
    int bar(int v) noexcept { return cfoo_bar(cPtr(), v); }
    cfoo * cPtr() noexcept { …
Run Code Online (Sandbox Code Playgroud)

c++ porting interface operator-overloading c++11

-3
推荐指数
1
解决办法
273
查看次数

用空(“”)替换json值中的空值和未定义值

I'mm越来越有很多的JSON响应nullundefined值。我需要用空字符串 ( )替换 allnullundefinedvalues ""。以下是我收到的示例响应:

<code>在此处输入图片描述</code>

{
  lecCicode: null
  lecOrderNo: null
  loccType: "Z"
  nccrCode: null
  nciCode: null
},
{
  lecCicode: null
  lecOrderNo: null
  loccType: "Z"
  nccrCode: null
  nciCode: null
},
{
  lecCicode: null
  lecOrderNo: null
  loccType: "Z"
  nccrCode: null
  nciCode: null
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery json

-3
推荐指数
1
解决办法
7928
查看次数

这为什么会这么分裂?有人可以解释valgrind错误吗?

所以我有这个程序在我的家用机器上编译很好,但是一旦我在大学服务器上编译它就会打破......:/这对我的屁股来说是一个巨大的痛苦.我不知道可能导致错误的位置或原因.我首先从大学的valgrind报告开始.

    ==13527== Memcheck, a memory error detector
==13527== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==13527== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==13527== Command: ./main stock.dat coins.dat
==13527== 
==13527== Invalid write of size 8
==13527==    at 0x402762: load_data (in /RMIThome/shr/5/s3234575/Assignments2/main)
==13527==    by 0x4028BE: main (in /RMIThome/shr/5/s3234575/Assignments2/main)
==13527==  Address 0x6172676f72502074 is not stack'd, malloc'd or (recently) free'd
==13527== 
==13527== 
==13527== Process terminating with default action of signal 11 (SIGSEGV)
==13527==  General Protection Fault …
Run Code Online (Sandbox Code Playgroud)

c struct valgrind memory-leaks segmentation-fault

-6
推荐指数
1
解决办法
356
查看次数

查找数组中的最大数字

有人可以告诉我我的程序有什么问题吗?我的程序应该找到最大值,int i[]但是当我运行它时,它要求我输入11个数字,而是显示11个数字中最大的数字.

#include<stdio.h>
void main(void)
{
    int i[] =
    {
        88, 67, 90, 12, 34, 65, 100, 78, 56, 77, 85, //bus 8
        98, 34, 67, 98, 67, 45, 67, 23, 45, 67, 89, //bus15
        88, 67, 90, 12, 34, 65, 100, 78, 56, 77, 85, //22
        98, 34, 67, 98, 67, 45, 67, 23, 45, 67, 89, //23
    };
    int j;
    int number,largest;
    largest=0;
    for(j=0;j<11;j++)
    {
        scanf_s("%d",&number);
        if(number>largest)largest=number;
    }
    printf("Largest=%d\n",largest);
}
Run Code Online (Sandbox Code Playgroud)

如何调整程序以便找到最大的值int i[]

c++ arrays

-9
推荐指数
1
解决办法
280
查看次数