令n为正整数,令S为n 个非负整数元组的集合。(例如,如果n为 3,则S可以为 {(1,2,0), (1,0,1)}。)
\n让我们定义一个名为“promote”的操作,它接受一个n 元组的非负整数 ( t 1 , t 2 , \xe2\x80\xa6, t n ),索引i使得t i \xc2\xa0>\ xc2\xa00 和小于i的索引j,并返回相同的n元组,只不过索引j处的值已递增,索引i处的值已递减。例如,如果我们有元组 (1,2,3,4,5),i \xc2\xa0=\xc2\xa05 和j \xc2\xa0=\xc2\xa02,则“promote”将返回 ( 1,3,3,4,4)。
\n我想计算“promote”在我的集合S上的闭包,这意味着我可以通过从S中的一个元素开始并对“promote”进行零次或多次调用(可以选择i和j)来达到的所有元组的集合对于任何给定的呼叫)。例如,如果S是 {(1,2,0), (1,0,1)},那么我想计算集合 {(2,0,0), (1,1,0), (1 ,0,1),(3,0,0),(2,1,0),(1,2,0)}。(例如,我可以通过从 (1,2,0) 开始并使用i \xc2\xa0=\xc2\xa02 和j \xc2\xa0=\xc2\调用“promote”来获得 …
algorithm search functional-programming breadth-first-search digraphs
我今天开始使用 Haskell,并且正在通过 learnyouahaskell.com 学习教程。但是,在本教程中,它们的所有语法都会在终端中自动着色。我正在通过 ConEmu 使用命令提示符,并想知道是否有任何方法可以(轻松)获得这种着色。我一直在网上寻找下载或建议,但找不到任何东西。当我想制作 .hs 文件时,我有 Notepadd++,但是一旦我初始化了 ghci,终端本身就没有任何东西。
今天我将我的jdk和docs从7更新到8.我对我的程序进行了一些更改,现在当我尝试让程序使用JOptionPane,JLabel,......时,一切都搞砸了.我创建了一个单独的测试器类,其唯一目的是运行单个JOptionPane框,但仍然出现错误.下面是对话框的外观图片.Java 8是否存在严重问题?
import javax.swing.JOptionPane;
public class CirclePointTester
{
public static void main(String [] args)
{
String input = JOptionPane.showInputDialog("Enter the x coordinate of the circle");
int xc = Integer.parseInt(input);
String input2 = JOptionPane.showInputDialog("Enter the y coordinate of the circle");
int yc = Integer.parseInt(input2);
String input3 = JOptionPane.showInputDialog("Enter the height value of the circle");
int height = Integer.parseInt(input3);
String input4 = JOptionPane.showInputDialog("Enter the width value of the circle");
int width = Integer.parseInt(input4);
}
}
Run Code Online (Sandbox Code Playgroud)


我无法弄清楚为什么我的路径归纳不是正确的类型检查.当提到C(refl x)时,它说"C x应该是一个函数类型,但它不是".也许我对refl的定义是错误的,或者我的{}和()有什么问题?
data _?_ {A : Set}(a : A) : A ? Set where
refl : a ? a
infix 4 _?_
pathInd : ? {u} ? {A : Set} ?
(C : {x y : A} ? x ? y ? Set u) ?
(c : (x : A) ? C (refl x)) ?
({x y : A} (p : x ? y) ? C p)
pathInd C c (refl x) = c x
Run Code Online (Sandbox Code Playgroud) 目前,我必须将JComponents包含在具有垂直框布局的JPanel中.这样,我可以让第一个组件居中,如下所示,并在下面有底部组件(很长).但是,由于底部组件非常长,我想为该特定组件添加一个滑块.这样,用户可以看到所有底部组件,其中上部组件保持居中.但是,我的下面的代码没有修复任何东西,滚动条甚至不起作用.您需要知道的有关GPComponent和GPinfinity的唯一信息是它们覆盖preferredSize,minimumSize,maximumSize和paintComponent方法(它们扩展了JComponent).
JFrame frame = new JFrame();
JPanel panel = new JPanel();
GPComponent gp = new GPComponent(n, k);
GPinfinityComponent gpi = new GPinfinityComponent(n, k);
Box box = new Box(BoxLayout.Y_AXIS);
panel.add(Box.createVerticalGlue());
panel.add(gp);
panel.add(Box.createVerticalGlue());
JScrollPane thePane = new JScrollPane(gpi, JScrollPane.VERTICAL_SCROLLBAR_NEVER,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
panel.add(thePane);
frame.pack();6
frame.add(panel, BorderLayout.CENTER); // just to be clear
frame.setVisible(true);
final int FRAME_WIDTH = 600;
final int FRAME_HEIGHT = 600;
frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
frame.setTitle("GP("+n+", "+k+")");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
另外:两个组件的maximumSize = minimumSize = preferredSize对于圆形,尺寸为(350,350),另一个尺寸为(5000,150).
我有一段代码,它通过我认为是ASCII的前256个字符,输出字符,并在文本文件中输出该字符串的出现次数.令人好奇的是它输出的字符与在线的任何ASCII表都不对应.第一个字符(i = 0)是空的,但第二个和第三个字符是笑脸,然后是心形,钻石,俱乐部和铁锹.更奇怪的是,当我检查字母表((char)65 ='A',...)时,一切正常并且对应于ASCII.为什么是这样?它只会在更标准的符号之前和之后混淆,说(char)254 =一个整数符号.这绝对不是ASCII ...
如果是任何安慰,我在windoes 8机器上通过Code :: Blocks运行这个程序.
我的代码:
void display ()
{
int i;
for(i=0; i<256; i++)
{
printf("Character: %c", (char)i);
printf("\tOccurrences: %d", characterCount[i]);
printf("\n");
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用单链表制作的类似数组的结构.如果我想删除某个单元格,我是否必须释放指向行和列的指针?
我的结构看起来像这样:
S -> C0 -> C1 -> C2 -> ...
v v v
R0 -> 00 -> 01 -> 02 -> ...
v v v
R1 -> 10 -> 11 -> 12 -> ...
v v v
R2 -> 20 -> 21 -> 22 -> ...
Run Code Online (Sandbox Code Playgroud)
并说我想删除11并重新链接.我是否必须使用01和10中的指针释放11?
S -> C0 -> C1 -> C2 -> ...
v v v
R0 -> 00 -> 01 -> 02 -> ...
v v v
R1 -> 10 ->->v->->12 -> ...
v v …Run Code Online (Sandbox Code Playgroud)